1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#!/bin/sh
#
# Copyright 2009 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
# This script performs nightly chores. It should be run from
# cron as the launchpad user once a day. Typically the output
# will be sent to an email address for inspection.
# Note that http/ftp proxies are needed by the product
# release finder
# Only run this script on loganberry
THISHOST=`uname -n`
if [ "loganberry" != "$THISHOST" ]
then
echo "This script must be run on loganberry."
exit 1
fi
# Only run this as the launchpad user
USER=`whoami`
if [ "launchpad" != "$USER" ]
then
echo "Must be launchpad user to run this script."
exit 1
fi
export LPCONFIG=production
export http_proxy=http://squid.internal:3128/
export ftp_proxy=http://squid.internal:3128/
LOCK=/var/lock/launchpad_nightly.lock
lockfile -r0 -l 259200 $LOCK
if [ $? -ne 0 ]; then
echo Unable to grab $LOCK lock - aborting
ps fuxwww
exit 1
fi
cd /srv/launchpad.net/production/launchpad/cronscripts
echo == Expiring memberships `date` ==
python -S flag-expired-memberships.py -q
echo == Allocating revision karma `date` ==
python -S allocate-revision-karma.py -q
echo == Recalculating karma `date` ==
python -S foaf-update-karma-cache.py -q
echo == Updating cached statistics `date` ==
python -S update-stats.py -q
echo == Expiring questions `date` ==
python -S expire-questions.py
### echo == Expiring bugs `date` ==
### python -S expire-bugtasks.py
# checkwatches.py is scheduled in the /code/pqm/launchpad_crontabs branch.
### echo == Updating bug watches `date` ==
### python -S checkwatches.py
echo == Updating bugtask target name caches `date` ==
python -S update-bugtask-targetnamecaches.py -q
echo == Updating personal standings `date` ==
python -S update-standing.py -q
echo == Updating CVE database `date` ==
python -S update-cve.py -q
echo == Updating package cache `date` ==
python -S update-pkgcache.py -q
echo == Product Release Finder `date` ==
python -S product-release-finder.py -q
rm -f $LOCK
|