X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=1ff6b2cd8c8e4e73cdbb7a2de16b5345643c00da;hb=a230888892aa3638bd2f51446a788659c182c2eb;hp=f7fa9c044432013afe4447ab552a063c6643c455;hpb=3bb635cd8b8d524e808d537f469031125dba86fc;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index f7fa9c04..1ff6b2cd 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -4,25 +4,59 @@ set -e set -u -export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars +# 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" + ################################################################################