X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=7d884b6a1e707a07f9afb1eb5378b1cc8f0db933;hb=520cc894834d0bf90b409bca8db8ad428d273582;hp=99d16359365f196ce82c3325b3f46bbd8d987425;hpb=f89e353cb89593444b3e841cadc7175a3f4e9081;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index 99d16359..7d884b6a 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -1,10 +1,15 @@ -#!/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 @@ -27,18 +32,17 @@ if [ ! -z "$(find $ftpdir/pool/ -type d -empty)" ]; then find $ftpdir/pool/ -type d -empty | xargs rmdir; fi -# 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 | grep -v "^NOTICE: Skipping.*only table owner can VACUUM it$" - -# 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 +# 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 echo "Finally, all is done, compressing logfile" exec > /dev/null 2>&1