上一个完成后bash脚本多个rsync

时间:2017-04-04 07:28:45

标签: bash backup rsync

您好我想创建一个备份rsync脚本,我想在月初创建一个文件夹的状态的额外副本,并将更改与我的任务结束时的月末进行比较: 我可以在上一个完成之后运行一个rsync作业,所以我不删除备份目录bevor我比较了这些变化并将它们备份了吗?

现在如果有:

if [ $MONTH -eq 1] && [ $DAY -eq 1]; then
rsync -a --forece --ignore-errors --compare-des=$MONTH_COMPARE $EXCLUDE_STRING $SOURCE_LOC ssh $TARGET_DIR/$LASTYEAR/12 
rsync -a --forece --ignore-errors --delete --update $EXCLUDE_STRING $SOURCE_LOC ssh $MONTH_COMPARE

重要的是,第二个你没有开始的第一个已经完成的第一个

1 个答案:

答案 0 :(得分:1)

使用rsync运算符分隔两个&&命令。 如果第一个命令成功完成(返回退出代码0),则此运算符确保第二个命令仅执行

所以,你的代码将是

if [ $MONTH -eq 1] && [ $DAY -eq 1]; then
rsync -a --forece --ignore-errors --compare-des=$MONTH_COMPARE $EXCLUDE_STRING $SOURCE_LOC ssh $TARGET_DIR/$LASTYEAR/12 &&
rsync -a --forece --ignore-errors --delete --update $EXCLUDE_STRING $SOURCE_LOC ssh $MONTH_COMPARE

您还可以将这些rsync行放入独立脚本中,并在所需时间使用cron启动它,这样您就不需要日期条件了。