]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/cron.weekly
path changes
[dak.git] / config / debian / cron.weekly
index f7fa9c044432013afe4447ab552a063c6643c455..8f1042dacf581376723d2295820cb378e1ca1276 100755 (executable)
@@ -4,25 +4,66 @@
 
 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
 
+# 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"
+
 
 ################################################################################