mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-08 11:52:32 +01:00
52 lines
1.0 KiB
Bash
52 lines
1.0 KiB
Bash
# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
|
|
# vim: set filetype=sh sw=3 sts=3 expandtab autoindent:
|
|
#
|
|
# this handler will backup subversion repostitories.
|
|
#
|
|
|
|
getconf src /var/lib/svn
|
|
getconf dest /var/backups/svn
|
|
getconf tmp /var/backups/svn.tmp
|
|
getconf HOTBACKUP "/usr/bin/svnadmin hotcopy"
|
|
|
|
error=0
|
|
|
|
cd $src
|
|
for repo in `find . -name svnserve.conf`
|
|
do
|
|
repo=`dirname $repo`
|
|
repo=`dirname $repo`
|
|
|
|
ret=`mkdir -p $tmp/$repo 2>&1`
|
|
code=$?
|
|
if [ "$ret" ]; then
|
|
debug "$ret"
|
|
fi
|
|
if [ $code != 0 ]; then
|
|
error "command failed mkdir -p $tmp/$repo"
|
|
fi
|
|
|
|
ret=`$HOTBACKUP $src/$repo $tmp/$repo 2>&1`
|
|
code=$?
|
|
if [ "$ret" ]; then
|
|
debug "$ret"
|
|
fi
|
|
if [ $code != 0 ]; then
|
|
error "command failed -- $HOTBACKUP $src/$repo $tmp/$repo"
|
|
error=1
|
|
fi
|
|
done
|
|
|
|
if [ $error -eq 1 ]; then
|
|
echo "Error: because of earlier errors, we are leaving svn backups in $tmp instead of $dest"
|
|
else
|
|
if [ -d $dest -a -d $tmp ]; then
|
|
rm -rf $dest
|
|
fi
|
|
if [ -d $tmp ]; then
|
|
mv $tmp $dest
|
|
fi
|
|
fi
|
|
|
|
exit 0
|