X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=8f1042dacf581376723d2295820cb378e1ca1276;hb=6411bdb24f02bb6ab902502ae4b0c78bf7dc9034;hp=3624336c2829f8a9fa080ee8ee681eb33325971f;hpb=da564af9a40d05d078e5ec7e49c0c778ae08ea0e;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index 3624336c..8f1042da 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -3,21 +3,67 @@ # 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 +# Vacuum the database +echo "VACUUM; VACUUM ANALYZE;" | psql --no-psqlrc projectb 2>&1 + +# Do git cleanup stuff +echo "Doing git stuff" +cd /org/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 +# Update wanna-build dump +echo "Update wanna-build database dump" +/org/ftp.debian.org/scripts/nfu/get-w-b-db + +echo "Fixing symlinks in $ftpdir" +symlinks -d -r $ftpdir + +echo "Finally, all is done, compressing logfile" +exec > /dev/null 2>&1 + +bzip2 -9 "$LOGFILE" + + ################################################################################