X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=1ff6b2cd8c8e4e73cdbb7a2de16b5345643c00da;hb=a230888892aa3638bd2f51446a788659c182c2eb;hp=3624336c2829f8a9fa080ee8ee681eb33325971f;hpb=da564af9a40d05d078e5ec7e49c0c778ae08ea0e;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index 3624336c..1ff6b2cd 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -3,21 +3,60 @@ # Run once a week via cron, out of dak's crontab. set -e -export SCRIPTVARS=/org/ftp.debian.org/dak/config/debian/vars +set -u +# ERR traps should be inherited from functions too. (And command +# substitutions and subshells and whatnot, but for us the functions is +# the important part here) +set -E +export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS +# Start logging +NOW=`date "+%Y.%m.%d-%H:%M:%S"` +LOGFILE="$logdir/weekly_${NOW}.log" +exec > "$LOGFILE" 2>&1 + +cleanup() { + echo "Cleanup" + rm -f "$LOGFILE" +} +trap cleanup 0 + ################################################################################ # Purge empty directories +echo "Purging empty directories in $ftpdir/pool/" if [ ! -z "$(find $ftpdir/pool/ -type d -empty)" ]; then find $ftpdir/pool/ -type d -empty | xargs rmdir; fi -# Clean up apt-ftparchive's databases +# Split queue/done +echo "Splitting queue/done" +dak split-done > /dev/null +# Do git cleanup stuff +echo "Doing git stuff" +cd /srv/ftp.debian.org/git/dak.git +git gc --prune +git update-server-info +# now workaround a git bug not honoring the setup in logs/* +# (fix in development, but until it reached backports.org.......) +chmod -R g+w logs/ + +# Clean up apt-ftparchive's databases cd $configdir +echo "Cleanup apt-ftparchive's database" apt-ftparchive -q clean apt.conf apt-ftparchive -q clean apt.conf.buildd +echo "Fixing symlinks in $ftpdir" +symlinks -d -r $ftpdir + +echo "Finally, all is done, compressing logfile" +exec > /dev/null 2>&1 + +bzip2 -9 "$LOGFILE" + + ################################################################################