X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=crontab.d%2Fupdate.sh;h=72422fc90390e3c767eddfacd5fc676045eae484;hb=17a3d6bf1dc5001799987d03b0e890f84a373ac9;hp=ca08be1c080a5b18112fed33f602a6f6cd220280;hpb=a29bfecac4e3aaa9b47e213d6df04ff247871dce;p=config%2Fdotfiles.git diff --git a/crontab.d/update.sh b/crontab.d/update.sh index ca08be1..72422fc 100755 --- a/crontab.d/update.sh +++ b/crontab.d/update.sh @@ -50,8 +50,11 @@ echo "###################################" > "$CRONTAB" echo "$HEADER_WARNING" >> "$CRONTAB" echo "###################################" >> "$CRONTAB" echo >> "$CRONTAB" -echo "# It was generated from '$DIRECTORY/*' on `date -R`." >> "$CRONTAB" +printf "# It was generated from '%s/*' on %s." \ + "$DIRECTORY" "`LANG=C date '+%a, %d %b %Y %H:%M:%S %z'`" >>"$CRONTAB" +# Enforce C sort order. +LC_ALL=C NO_MATCHES= for file in "$DIRECTORY"/crontab.*; do @@ -61,18 +64,20 @@ for file in "$DIRECTORY"/crontab.*; do break fi - echo "Found '$file'." + printf "Found '%s'.\n" "$file" - echo >> "$CRONTAB" - echo >> "$CRONTAB" - echo "## $file:" >> "$CRONTAB" + printf '\n\n## %s:\n' "$file" >>"$CRONTAB" + # Strip licenses, multiple empty lines and fix $HOME variables in PATH + # (cron doesn't expand variables). START_REGEX='^# This [a-zA-Z]* is free software: you can redistribute it' END_REGEX='^# along with this [a-zA-Z]*. If not, see <[^>]*>\.' < "$file" sed -e "/$START_REGEX/,/$END_REGEX/ d" \ -e "/^#[ ]*$/ d" \ -e "/^# Copyright (C) [0-9][0-9]* / d" \ | cat --squeeze-blank \ + | sed "/^PATH/ s:\$HOME:$HOME:g" \ + | sed 's/RAND_SLEEP \([0-9]*\)/sleep `perl -e "srand; print int rand \1;"`/' \ >> "$CRONTAB" done