All pastes #359334 Raw Edit

chuy

public shellscript v1 · immutable
·published 2007-02-16 19:13 UTC
rendered paste body
#!/bin/bash## This script will backup a project supplied in the# first arguement to the scp path in the second## Example:#   ./backup.sh "projectname" "/project/path" "user@host:/backup/dir"## IMPORTANT NOTE#  You must setup your two machines to allow for passwordless#  SSH connections. Instructions can be found at:#    http://fedoranews.org/ghenry/rdiff/#PNAME=$1PROJ=$2SCPPATH=$3DATE=`date +"%y-%m-%d"`# test our directory structureif [ ! -d $PROJ ] ; then        echo "ERROR: Project path does not exist: " $PROJ        exit 10;fiif [ ! -d $PROJ/svn_repo ] ; then    echo "ERROR: Project svn repo (/svn_repo) does not exist: " $PROJ    exit 11;fiif [ ! -d $PROJ/trac ] ; then    echo "ERROR: Project trac (/trac) does not exist: " $PROJ    exit 12;fi# remove any previous working files, jicrm -Rf /tmp/$PNAME-$DATE.tar.gz /tmp/$PNAME-$DATE.svn.dump /tmp/$PNAME-$DATE.trac.hotcopy# do the svn dumpsvnadmin dump $PROJ/svn_repo/ >> /tmp/$PNAME-$DATE.svn.dumpif [ "$?" != 0 ] ; then        echo "ERROR: SVNDump failed"        exit 13fi# cool, now lets hotcopy the trac installtrac-admin $PROJ/trac/ hotcopy /tmp/$PNAME-$DATE.trac.hotcopyif [ "$?" != 0 ] ; then    echo "ERROR: Trac hotcopy failed"    exit 14fi# now that we have the trac and svn dumped, tar them upcd /tmptar -zcvf /tmp/$PNAME-$DATE.tar.gz $PNAME-$DATE.svn.dump $PNAME-$DATE.trac.hotcopyif [ "$?" != 0 ] ; then    echo "ERROR: Tar compression failed"    exit 15fi# now we have a backup file ready to sync out, do the SCPscp -B /tmp/$PNAME-$DATE.tar.gz $SCPPATH/$PNAME-$DATE.tar.gzif [ "$?" != 0 ] ; then    echo "ERROR: The server to server copy failed. Make sure SSH shared auths are setup right."    exit 16fi# remove the working filesrm -Rf /tmp/$PNAME-$DATE.tar.gz /tmp/$PNAME-$DATE.svn.dump /tmp/$PNAME-$DATE.trac.hotcopyecho "Backup $PNAME for $DATE finished"