現在、私はcrontab
バックアップ方法で毎週金曜日の午前3時に私のコンピュータでタスクを実行しています。これは、rsync
サーバーから外部ハードドライブにファイルを同期するコマンドを実行するbashスクリプトを実行します。このフラグは、rsyncコマンドからrsyncなどの--include-from
ファイルのリストを取得するために使用されます。*.cpp *.h
残念ながら、私のハードドライブの空き容量が不足しているので、同じストレージスペースを持つ別のドライブに交換したいと思います。そのままrsyncを続けると、2番目のドライブが最初のドライブと同じでいっぱいになるため、何も得られません。
理想的には、外付けドライブを交換した日付よりも最新のファイルだけをrsyncしたいと思います--include-from
(たとえば、今日のドライブを交換してから、インクルードファイルリストのファイルをrsyncしたいと思います。そして2015年3月27日更新)。これは最初のドライブの連続になります。
オンラインで見つけることができるすべては、find
最初に日付よりも最新のファイルのリストを取得し、そのリストをrsync
。find
仕える人?より良いオプションはありますか?rsync
ファイルが最後に変更された日付を確認するフラグですか?
ありがとう
ベストアンサー1
古いディスクを使用して最後のバックアップ後にタイムスタンプを作成し、そのタイムスタンプの後のファイルをバックアップします。find
フラグを使用して--newer
タイムスタンプより新しいファイルを一覧表示し、フラグを使用してコピーするファイルの--file-from
リストrsync
を指定します。
それだけです:
ステップ1:新しいドライブに変更する前に:touch /someplace/timestamp.txt
ステップ2:新しいディスクと交換します。
ステップ3:次のタスクを実行するようにcronjobスクリプトを変更します。
find BLAH BLAH BLAH -newer /someplace/timestamp.txt -type f -print0 >/tmp/list
rsync -avP --inplace --file-from=/tmp/list --from0 desthost:/dest/place
/someplace/timestamp.txt ファイルを変更したり、触ったり、変更したりしないでください。