同時インスタンス化のリスクなしにrsyncを自動化する方法

同時インスタンス化のリスクなしにrsyncを自動化する方法

~/homeのデータをリモート/srv/shareフォルダにコピーするrsyncコマンドがあります。

/usr/bin/rsync -rltvz --progress --stats -e 'ssh -p MYPORT' /home/luke/share/ [email protected]:/srv/share/

1) ローカル ~/share から削除されたすべての項目がコピーされるようにこのタスクを自動化したいと思います。時間ごとのcronタスクを実行するか、システムタイマーを使用したいのですが、大きなタスクを実行しているかどうか心配です。 1時間以上かかります。これにより、2 つの同時 rsync インスタンスが同じデータで動作します。そうですか?では、どうすれば回避できますか?

2) 異なるシステムの複数のrsyncが同時に(異なる)データを同じサーバディレクトリにコピーするのに問題がありますか?

答え1

私も同じ問題がありました時間の移動。バックアップスクリプトの上部にこれを追加して、それ以降は起動しません。時間の移動完全な:

# if Timeshift is running, wait until it's finished
until [ -z $(/bin/pidof timeshift) ]
  do
      # waiting
      sleep 1
  done

ただ交換してください同期~のため時間の移動行ってもいいです。

1つの長いコマンドにすべてを入れるには、次のようにします。

until [ -z $(/bin/pidof rsync) ]; do sleep 1; done; your_rsync_command

関連情報