diff options
Diffstat (limited to 'z-distfiles/scripts-gw-1.1/SVN-html')
-rwxr-xr-x | z-distfiles/scripts-gw-1.1/SVN-html | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/z-distfiles/scripts-gw-1.1/SVN-html b/z-distfiles/scripts-gw-1.1/SVN-html new file mode 100755 index 0000000..95bf9f7 --- /dev/null +++ b/z-distfiles/scripts-gw-1.1/SVN-html @@ -0,0 +1,38 @@ +#!/bin/bash + +if [ "x$1" == "x--help" ]; then + echo "Usage: SVN-html /backup/dir \"commit message\"" + echo + echo "Copies the /var/www directory into the given /backup/dir/html" + echo "and subsequently performs a \"svn commit\". So the " + echo "backup dir has to be a checkout from an svn repository." + exit 0 +fi + +LOGFILE=${1}/cronlog +ERRFILE=${1}/errlog +BASEDIR=${1}/html/ + +if [ ! -d "${BASEDIR}" ]; then + mkdir -p $BASEDIR + cd ${1} && svn add html +fi + +date > $LOGFILE +date > $ERRFILE + +rsync -rptgo --delete-after --exclude ".svn/" /var/www/ $BASEDIR 2>> $ERRFILE | grep -v "skipping" +cd $BASEDIR && TL=`find .` && for fl in $TL;do [ -L $fl ] && rm $fl;done +cd $BASEDIR && svn status | grep '^!' | sed -e 's/^!//' | sed -e "s/^ *//" | sed -e 's/ /\\ /g' | xargs svn rm &> $LOGFILE +cd $BASEDIR && svn status | grep '^?' | sed -e 's/^?//' | sed -e "s/^ *//" | sed -e 's/ /\\ /g' | xargs svn add &> $LOGFILE + +MESSAGE="$2" +[ ! "$MESSAGE" ] && MESSAGE="Automatic Update" +cd $BASEDIR >> $LOGFILE 2>> $ERRFILE && svn commit -m "$MESSAGE" >> $LOGFILE 2>> $ERRFILE + +cat $LOGFILE +cat $ERRFILE + +rm $LOGFILE +rm $ERRFILE + |