#! /bin/sh # # Executed daily via cron, out of troup's crontab. set -e export SCRIPTVARS=/org/non-us.debian.org/katie/vars-non-US . $SCRIPTVARS ################################################################################ echo Archive maintenance started at $(date +%X) NOTICE="$ftpdir/Archive_Maintenance_In_Progress" cleanup() { rm -f "$NOTICE" } trap cleanup 0 rm -f "$NOTICE" cat > "$NOTICE" <<EOF Packages are currently being installed and indices rebuilt. Maintenance is automatic, starting at 13:52 US Central time, and ending at about 15:30. This file is then removed. You should not mirror the archive during this period. EOF ################################################################################ echo "Creating pre-daily-cron-job backup of projectb database..." pg_dump projectb > /org/non-us.debian.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S) ################################################################################ update-readmenonus ################################################################################ if [ ! -z "$(find "$accepted" -name \*.changes -maxdepth 1 -mindepth 1)" ]; then cd $accepted rm -f REPORT kelly -pa *.changes | tee REPORT | \ mail -s "Non-US Install for $(date +%D)" EMAILADDRESS chgrp debadmin REPORT chmod 664 REPORT else echo "kelly: Nothing to install." fi cd $masterdir symlinks -d -r $ftpdir cd $masterdir jenna # Generate override files cd $overridedir denise # FIXME rm -f override.potato.all3 for i in main contrib non-free; do cat override.potato.$i >> override.potato.all3; done # Generate Packages and Sources files cd $masterdir apt-ftparchive generate apt.conf-non-US # Generate Release files ziyi # Clean out old packages rhona shania # Generate the Maintainers file cd $indices charisma > .new-maintainers_versions mv -f .new-maintainers_versions Maintainers_Versions sed -e "s/~[^ ]*\([ ]\)/\1/" < Maintainers_Versions | awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers mv -f .new-maintainers Maintainers gzip -9v <Maintainers >.new-maintainers.gz mv -f .new-maintainers.gz Maintainers.gz gzip -9v <Maintainers_Versions >.new-maintainers_versions.gz mv -f .new-maintainers_versions.gz Maintainers_Versions.gz rm -f Maintainers_Versions cd $masterdir copyoverrides mklslar mkchecksums rm -f $NOTICE echo Archive maintenance finished at $(date +%X) ################################################################################ echo "Creating post-daily-cron-job backup of projectb database..." pg_dump projectb > /org/non-us.debian.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S) ################################################################################ # Vacuum the database echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE: Skipping.*only table owner can VACUUM it$" ################################################################################ # Send a report on NEW/BYHAND packages helena | mail -e -s "[non-US] NEW and BYHAND on $(date +%D)" EMAILADDRESS # and one on crufty packages rene | mail -e -s "[non-US] rene run for $(date +%D)" EMAILADDRESS ################################################################################ ulimit -m 90000 -d 90000 -s 10000 -v 90000 run-parts --report /org/non-us.debian.org/scripts/distmnt echo Daily cron scripts successful.