~launchpad-pqm/launchpad/devel

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
#!/bin/sh

# 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 forster
THISHOST=`uname -n`
if [ "forster" != "$THISHOST" ]
then
        echo "This script must be run on forster."
        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 flag-expired-memberships.py -q

echo == Recalculating karma `date` ==
python foaf-update-karma-cache.py -q

echo == Updating cached statistics `date` ==
python update-stats.py -q

echo == Updating package cache `date` ==
python update-pkgcache.py -q

echo == Updating CVE database `date` ==
python update-cve.py -q

echo == Updating bugtask target name caches `date` ==
python update-bugtask-targetnamecaches.py -q

echo == Expiring questions `date` ==
python expire-questions.py

### echo == Expiring bugs `date` ==
### python expire-bugtasks.py

echo == Product Release Finder `date` ==
python product-release-finder.py -q

echo == Updating bug watches `date` ==
python checkwatches.py

echo == POFile stats `date` ==
python rosetta-pofile-stats.py

rm -f $LOCK