X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=backupninja;h=d653144a66520082f9ffd0472d59533a59c4f025;hb=d076494a6ea20754841582d0903b13eb6a973cfd;hp=aba997e50a4de87e44f17728cbc19a051eaf6305;hpb=a95af249f142f7feb253c34687cfc415a0614d41;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/backupninja b/backupninja index aba997e..d653144 100755 --- a/backupninja +++ b/backupninja @@ -131,6 +131,23 @@ function setsection() { CURRENT_SECTION=$1 } + +# +# create a temporary file in a secure way. +# +function maketemp() { + if [ -x /bin/mktemp ] + then + local tempfile=`mktemp /tmp/$1.XXXXXXXX` + else + DATE=`date` + sectmp=`echo $DATE | /usr/bin/md5sum | cut -d- -f1` + local tempfile=/tmp/$1.$sectmp + fi + echo $tempfile +} + + # # sets a global var with name equal to $1 # to the value of the configuration parameter $1 @@ -279,8 +296,10 @@ function process_action() { getconf when "$defaultwhen" if [ "$processnow" == 1 ]; then info ">>>> starting action $file (because of --now)" + run="yes" elif [ "$when" == "hourly" ]; then info ">>>> starting action $file (because 'when = hourly')" + run="yes" else IFS=$'\t\n' for w in $when; do @@ -297,12 +316,13 @@ function process_action() { done IFS=$' \t\n' fi + debug $run [ "$run" == "no" ] && return let "actions_run += 1" # call the handler: - local bufferfile="/tmp/backupninja.buffer.$$" + local bufferfile=`maketemp backupninja.buffer` echo "" > $bufferfile echo_debug_msg=1 ( @@ -435,6 +455,8 @@ getconf RDIFFBACKUP /usr/bin/rdiff-backup getconf MYSQL /usr/bin/mysql getconf MYSQLHOTCOPY /usr/bin/mysqlhotcopy getconf MYSQLDUMP /usr/bin/mysqldump +getconf PGSQLDUMP /usr/bin/pg_dump +getconf PGSQLDUMPALL /usr/bin/pg_dumpall getconf GZIP /bin/gzip getconf RSYNC /usr/bin/rsync getconf vservers no @@ -474,7 +496,7 @@ errormsg="" if [ "$singlerun" ]; then files=$singlerun else - files=`find $configdirectory -mindepth 1 | sort -n` + files=`find $configdirectory -mindepth 1 ! -name '.*.swp' | sort -n` fi for file in $files; do