]> git.decadent.org.uk Git - dak.git/blob - config/backports.org/cron.hourly
06dd47bda7a49b526095b36aa79d5b4ec67bcb1d
[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
57 # Generate override files
58 cd $overridedir
59 dak make-overrides
60
61 # Generate Packages and Sources files
62 cd $configdir
63 apt-ftparchive generate apt.conf
64 # Generate *.diff/ incremental updates
65 dak generate-index-diffs
66 # Generate Release files
67 dak generate-releases
68
69 dak make-pkg-file-mapping | bzip2 -9 > $base/ftp/indices/package-file.map.bz2
70
71 # Clean out old packages
72 # Now in cron.daily. JJ[03.05.2005.]
73 #rhona
74 #shania
75
76 cd $scriptsdir
77 ./mkmaintainers
78 ./copyoverrides
79 ./mklslar
80 ./mkchecksums
81
82 rm -f $NOTICE
83 rm -f $LOCKCU
84 echo Archive maintenance finished at $(date +%X)
85
86 ################################################################################
87
88 echo "Creating post-hourly-cron-job backup of projectb database..."
89 POSTDUMP=/org/backports.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
90 pg_dump projectb > $POSTDUMP
91 (cd /org/backports.org/backup; ln -sf $POSTDUMP current)
92
93 ################################################################################
94
95 # Vacuum the database
96 echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE:  Skipping.*only table owner can VACUUM it$"
97
98 ################################################################################
99
100 # Now in cron.daily JJ[03.05.2005]
101 # Send a report on NEW/BYHAND packages
102 #helena | mail -e -s "NEW and BYHAND on $(date +%D)" ftpmaster@amd64.debian.net
103 # and one on crufty package
104 #rene | mail -e -s "rene run for $(date +%D)" ftpmaster@amd64.debian.net
105
106 ################################################################################
107
108 (cd /org/backports.org/stats; rm -f master.list; ./dmc.pl get >/dev/null 2>&1; \
109 ./mirror.pl>$ftpdir/README.mirrors.html; cd $ftpdir; /usr/bin/links -dump README.mirrors.html >README.mirrors.txt)
110
111
112 ################################################################################
113
114 ulimit -m 90000 -d 90000 -s 10000 -v 90000
115
116 run-parts --report /org/backports.org/scripts/distmnt
117
118 echo Daily cron scripts successful.