]> git.decadent.org.uk Git - dak.git/blob - config/backports.org/cron.hourly
not everything can be done in parallel...
[dak.git] / config / backports.org / cron.hourly
1 #! /bin/sh
2 #
3 # Executed daily via cron, out of katie's crontab.
4 set -e
5 export SCRIPTVARS=/org/backports.org/dak-config/vars
6 . $SCRIPTVARS
7
8 ################################################################################
9 cd $accepted
10
11 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
12
13 if [ -z "$changes" ]; then
14  exit 0;
15 fi
16
17 echo Archive maintenance started at $(date +%X)
18
19 NOTICE="$ftpdir/Archive_Maintenance_In_Progress"
20 LOCKCU="$lockdir/daily.lock"
21 LOCKAC="$lockdir/unchecked.lock"
22
23 cleanup() {
24   rm -f "$NOTICE"
25   rm -f "$LOCKCU"
26 }
27 trap cleanup 0
28
29 rm -f "$NOTICE"
30 lockfile -l 3600 $LOCKCU
31 cat > "$NOTICE" <<EOF
32 Packages are currently being installed and indices rebuilt.
33 Maintenance is automatic, starting hourly at 5 minutes past the hour.
34 Most of the times it is finished after about 10 til 15 minutes.
35
36 You should not mirror the archive during this period.
37 EOF
38
39 ################################################################################
40
41 cd $accepted
42 rm -f REPORT
43 dak process-accepted -pa *.changes | tee REPORT | \
44      mail -s "Install for $(date +%d.%m.%Y)" ftpmaster@backports.org
45 chgrp debadmin REPORT
46 chmod 664 REPORT
47
48 cd $masterdir
49
50 rm -f $LOCKAC
51
52 symlinks -d -r $ftpdir
53
54 cd $masterdir
55 dak make-suite-file-list
56 dak generate-filelist
57
58 # Generate override files
59 cd $overridedir
60 dak make-overrides
61
62 # Generate Packages and Sources files
63 cd $configdir
64 apt-ftparchive generate apt.conf
65 # Generate *.diff/ incremental updates
66 dak generate-index-diffs
67 # Generate Release files
68 dak generate-releases
69
70 # Clean out old packages
71 # Now in cron.daily. JJ[03.05.2005.]
72 #rhona
73 #shania
74
75 cd $scriptsdir
76 ./mkmaintainers
77 ./copyoverrides
78 ./mklslar
79 ./mkchecksums
80
81 rm -f $NOTICE
82 rm -f $LOCKCU
83 echo Archive maintenance finished at $(date +%X)
84
85 ################################################################################
86
87 echo "Creating post-hourly-cron-job backup of projectb database..."
88 POSTDUMP=/org/backports.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
89 pg_dump projectb > $POSTDUMP
90 (cd /org/backports.org/backup; ln -sf $POSTDUMP current)
91
92 ################################################################################
93
94 # Vacuum the database
95 echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE:  Skipping.*only table owner can VACUUM it$"
96
97 ################################################################################
98
99 # Now in cron.daily JJ[03.05.2005]
100 # Send a report on NEW/BYHAND packages
101 #helena | mail -e -s "NEW and BYHAND on $(date +%D)" ftpmaster@amd64.debian.net
102 # and one on crufty package
103 #rene | mail -e -s "rene run for $(date +%D)" ftpmaster@amd64.debian.net
104
105 ################################################################################
106
107 (cd /org/backports.org/stats; rm -f master.list; ./dmc.pl get >/dev/null 2>&1; \
108 ./mirror.pl>$ftpdir/README.mirrors.html; cd $ftpdir; /usr/bin/links -dump README.mirrors.html >README.mirrors.txt)
109
110
111 ################################################################################
112
113 ulimit -m 90000 -d 90000 -s 10000 -v 90000
114
115 run-parts --report /org/backports.org/scripts/distmnt
116
117 echo Daily cron scripts successful.