我编写了一个简单的 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 正在工作