Added the "Emacs comment line" on top of every shell file.
[matthijs/upstream/backupninja.git] / handlers / trac
1 # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
2 #
3 # this handler will backup trac environments (based on the svn handler)
4 #
5 # http://trac.edgewall.com/
6 #
7
8 getconf src /var/lib/trac
9 getconf dest /var/backups/trac
10 getconf tmp /var/backups/trac.tmp
11
12 error=0
13 cd $src
14 for repo in `find . -name VERSION`
15 do
16     repo=`dirname $repo`
17
18     # Just make the parent directory for $tmp/$repo
19     parentdir=`dirname $tmp/$repo`
20     ret=`mkdir -p $parentdir 2>&1`
21     code=$?
22     if [ "$ret" ]; then
23        debug "$ret"
24     fi
25     if [ $code != 0 ]; then
26        error "command failed mkdir -p $parentdir"
27     fi
28
29     ret=`trac-admin $src/$repo hotcopy $tmp/$repo 2>&1`
30     code=$?
31     if [ "$ret" ]; then
32        debug "$ret"
33     fi
34     if [ $code != 0 ]; then
35        error "command failed -- trac-admin $src/$repo hotcopy $tmp/$repo"
36        error=1
37     fi
38 done
39
40 if [ $error -eq 1 ]; then
41     echo "Error: because of earlier errors, we are leaving trac backups in $tmp instead of $dest"
42 else
43     if [ -d $dest -a -d $tmp ]; then
44         rm -rf $dest
45     fi
46     if [ -d $tmp ]; then
47         mv $tmp $dest
48     fi
49 fi
50
51 exit 0
52
53 # vim: filetype=sh