我写了一个简单的bash脚本,在Mac OS X Yosemite上使用rdiff-backup进行备份。这是:
#!/bin/bash
MODIF=`stat -f '%m' backup-data.txt`
NOW=`date +%s`
DIFF=$(($NOW-$MODIF))
BACKTIME=$((3600*8))
# EVERY BACKTIME/3600 HOURS SHOULD BE BACKUP
if (($DIFF < $BACKTIME)) ; then
echo "Last sync was not a long time ago - ${DIFF} sec. Need ${BACKTIME}."
exit 0;
fi
echo "${MODIF} ${NOW} start" > backup-data.txt
echo "sync start"
rdiff-backup -v 4 --force --print-statistics --exclude **templates_c** --exclude ***sess_* --exclude **.svn** --exclude ***.log --exclude ***.tpl.php /WebServers /Temp/backup/WebServers >> backup-data.txt
rdiff-backup -v 4 --remove-older-than 2W /Temp/backup/WebServers >> backup-data.txt
rdiff-backup -l /Temp/backup/WebServers >> backup-data.txt
echo "${MODIF} ${NOW} stop" >> backup-data.txt
echo "sync end"
它在终端上工作得很好,但是一旦用crontab执行它只显示echo而不是运行rdiff-backup命令。
处理它两个小时 - 没有成功(( 关闭所有回声 - 没有成功等 有人可以帮忙吗?也许我错过了什么......
Crontab行是
* * * * * ./backup-data.sh 2>&1 > /Temp/cron_log.txt;
和cronjob正在工作