2016-07-01 9 views
1

私は約--ignore-existingのオプションを知っています。上書きせずにバックアップにrsyncを使用

私の状況は次のとおりです。私は大量のユーザーがアップロードした画像を持つWebサーバーを持っています。今は約2TBです。通常、これらのファイルはまったく変更されません。私はrsyncを使用し、他のサーバーにバックアップします。

しかし、ファイルが壊れた場合はどうなりますか?ファイルの半分が消えたとします。それはバックアップにコピーされ、以前の正しいファイルを上書きするので、バックアップも壊れます。

--ignore-existingを使用することがあります。しかし、ファイルがまだ変更されている場合(それは非常にまれですが可能ですが)はどうでしょうか。このオプションを使用すると、バックアップにはこの新しいファイルが作成されません。

ファイルが変更された場合、すべてのバージョンのファイルをバックアップしたいと考えています。出来ますか?すなわち、rsyncがそのファイルを既に定義している場合、既存の古いファイルを../previous-TIMESTAMP/oldFileHereに移動した後、新しいファイルを古いファイルの場所に置きます。

これを達成する方法はありますか?

答えて

2

rsyncではなくrsnapshotを使用したいと思います。古いバージョンのファイルを回復するために特別に作られたものです。これは、ディレクトリ~/.snapshotsに毎時、毎週、毎月のファイルのバージョン管理を提供します。

ファイルが小さい場合は、gitレポに入れて、時間ベースではなく修正ベースでバージョン管理することも考えられます。それは私のデータベース、ドットファイル、個人的なメモで何をするのかです。

2

あなたはこのような接尾辞先のファイルを使用することができますrsnapshot使用したくない場合は、次の

rsync --backup --suffix=`date +'.%F_%H-%M'` ~/life_story.txt /media/myusername/backupdrive/life_story.txt 

注:

  • コピーは「スマート」になります - ソースならファイルのサフィックスの代わりにサブディレクトリを使用するオプションがありますが、自分で試したことはありません。
関連する問題