X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=7d884b6a1e707a07f9afb1eb5378b1cc8f0db933;hb=f54c87736c85e9c72b1693f9db50848992f88f61;hp=4baaf46c3a7c9e482ecfce074b1d1298111784fd;hpb=a9cd0a9b4d5fc20932b3818bf4e45fbffebc9fc5;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index 4baaf46c..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,31 +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$" - # Do git cleanup stuff echo "Doing git stuff" -cd /org/ftp.debian.org/git/dak.git +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 - -# 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