2017-04-04 10 views
0

こんにちは私はバックアップrsyncスクリプトを作成したいと思います。私は月の初めに1つのフォルダの状態の追加コピーを作成し、その変更を私の質問: 前回の終了後にrsyncジョブを実行することはできますか?バックアップディレクトリを削除しないでください。変更を比較してバックアップしましたか?今のbashスクリプト複数のrsyncが完了した後

持っている場合:

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 

それはあなたが起動しない第二bevor 1は&&オペレータとの

答えて

0

Delimine両方rsyncコマンドを終えた拳こと、が重要です。 このオペレータは、第2のコマンドがのみを実行し、第1のものが正常に終了する(終了コード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でそれを起動することができますになりますので、あなたは、日付条件を必要としません。

+0

また、第3引数 "--forece"が正しい場合、chcekは正しいですが、今は* nixマシンはありませんが、タイプミスのようです – Michal

関連する問題