X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=7d884b6a1e707a07f9afb1eb5378b1cc8f0db933;hb=9639afdb34ea7c5fdaf62e05a78ca0aab288f6de;hp=f7fa9c044432013afe4447ab552a063c6643c455;hpb=3bb635cd8b8d524e808d537f469031125dba86fc;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index f7fa9c04..7d884b6a 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -1,28 +1,53 @@ -#!/bin/sh +#!/bin/bash # # Run once a week via cron, out of dak's crontab. set -e +set -o pipefail 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 +# 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/ + +echo "Fixing symlinks in $ftpdir" +symlinks -d -r $ftpdir -# Split queue/done -dak split-done > /dev/null +echo "Finally, all is done, compressing logfile" +exec > /dev/null 2>&1 -cd $configdir -apt-ftparchive -q clean apt.conf -apt-ftparchive -q clean apt.conf.buildd +bzip2 -9 "$LOGFILE" ################################################################################