chiark / gitweb /
Initial import of $HOME/bin.
[bin.git] / afeweb-backup
1 #! /bin/sh
2
3 YEARTHISWEEK=`date +%Y-w%V`
4 YEARLASTWEEK=`date -d '1 week ago' +%Y-w%V`
5 DAY=`date +%w | sed 's/0/7/'`
6
7 LABDIR=/tmp/afeweb.$YEARTHISWEEK-$DAY
8 if [ $DAY -eq 1 ]; then
9         OLDTAR=$HOME/backups/afeweb-$YEARLASTWEEK.tar.gz
10         NEWTAR=$HOME/backups/afeweb-$YEARTHISWEEK.tar.gz
11 else
12         OLDTAR=$HOME/backups/afeweb-$YEARTHISWEEK.tar.gz
13         unset NEWTAR
14 fi
15 DIFFGZ=$HOME/backups/afeweb-$YEARTHISWEEK-$DAY.diff.gz
16 TOPDIR=tolhoneth
17 SOURCEPARENT=/var/www
18 SOURCEDIR=tolhoneth
19
20 if [ -f $OLDTAR ]; then
21         # Extract old tarball and set up diffing environment
22         mkdir $LABDIR
23         cd $LABDIR
24         tar xzf $OLDTAR
25         mv $TOPDIR $TOPDIR.orig
26         ln -s $SOURCEPARENT/$SOURCEDIR $TOPDIR
27
28         # Do the diff and clean up
29         diff -Naru $TOPDIR.orig $TOPDIR | gzip > $DIFFGZ
30         cd -
31         rm -rf $LABDIR
32 fi
33
34 if [ "$NEWTAR" ]; then
35         # First day of the week, so build a new tarball
36         cd $SOURCEPARENT
37         tar czf $NEWTAR $SOURCEDIR
38         cd -
39 fi
40