~z-man/armagetronad/bugfarm-scripts

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

# runs the server in loop, core files

# make date stamp
stamp=$(date +%F-%T)

# restart elimination script
killall elimination
./var/elimination &

# run server
./armagetronad-dedicated --record var/${stamp}.aarec | tee var/${stamp}.log

# bug?
if grep ":.*BUG" var/${stamp}.log; then
    # yes. mail me
    grep -C 100 :.*BUG var/${stamp}.log | mail -s "Bug ${stamp}" manuel@moosnet.de

    # pack logs
    mkdir -p var/bugs/${stamp}
    mv var/${stamp}.aarec var/bugs/${stamp}/bug.aarec
    mv var/${stamp}.log var/bugs/${stamp}/bug.log
    cp -alx ../../../armagetronad var/bugs/${stamp}/armagetronad
else
    # compress logs and stowe them away
    bzip2 var/*.aarec
    bzip2 var/*.log
    mkdir -p var/old
    mv var/*.bz2 var/old/
fi

# purge old non-bug logs
find var -name *.bz2 -ctime +4 -exec rm \{\} \;