変更されたファイルのみをディスクから外部 USB に効率的にコピーするにはどうすればよいですか?

変更されたファイルのみをディスクから外部 USB に効率的にコピーするにはどうすればよいですか?

Ubuntu ファイル システム内にというディレクトリがありmy_projects_linux、そこには長年にわたる私の作業がすべて含まれています。このディレクトリには、ファイル、サブディレクトリなどが含まれています。

バックアップの目的で、このディレクトリとそのすべての内容を外付けハードドライブにコピーすることがあります。

したがって、外付けドライブの内容は次のようになります。

/mounted_drive/my_projects_linux
/mounted_drive/my_projects_windows  # the same idea to backup Windows work

したがって、私が探しているのは次のようなコマンドです。

  1. 次のように機能します

    cp /home/my_projects_linux /mounted_drive/my_projects_linux
    

    外部ディスク内の古いファイル、サブディレクトリ、サブディレクトリ内のファイルなどを、PC の新しいコンテンツに置き換える必要があります。

  2. 早くして変更されたファイルまたは新しく作成されたファイルのみをコピーする必要があります。 のサイズがmy_projects_linux50 GB を超えることを考えると、すべてをコピーするには 1 時間以上かかり、これは遅すぎます。実際には、最後のバックアップ以降に数 MB しか変更されていないことが多いため、理論的にはコピーははるかに高速に作成できます。

どうやってするか?

フラグ付きの cp が-u私のニーズに合うかもしれないと Google で検索しました。これは機能しますか (たとえば、サブディレクトリのサブディレクトリを正しく処理しますか)?

また、ファイル システムを外部ディスクに保存することは、バックアップを行う適切な方法でしょうか、それとももっと洗練された方法があるでしょうか。たとえば、クラウドを使用するなどです。洗練された方法はシンプルである必要があることに注意してください。そうでないと、1 つのシェル コマンドを実行する手軽さに勝るものはありません。

答え1

何のために設計されたかを説明していますねrsyncman rsync

   Rsync  finds  files  that  need to be transferred using a "quick
   check" algorithm (by default) that looks  for  files  that  have
   changed  in  size  or in last-modified time.  Any changes in the
   other preserved attributes (as requested by options) are made on
   the  destination  file  directly  when the quick check indicates
   that the file’s data does not need to be updated.

ネットワーキングに関するくだらない話もたくさんありますが、ローカルでも問題ありません。
基本的に必要なものは以下のとおりです。

rsync -rtv /home/my_projects_linux /mounted_drive/my_projects_linux

たくさんのオプションがありますが、-rtv同期されますr再帰的に、timecodesは同じですが、それが何をしているのかについて詳しく説明します。

答え2

2 番目の質問にお答えすると、バックアップするためのより高度な方法は ですrdiff-backup

rdiff-backup は、ネットワーク経由で、あるディレクトリを別のディレクトリにバックアップします。ターゲット ディレクトリはソース ディレクトリのコピーになりますが、追加の逆差分はターゲット ディレクトリの特別なサブディレクトリに保存されるため、以前に失われたファイルを回復できます。ミラーと増分バックアップの最高の機能を組み合わせるのが目的です。rdiff-backup は、サブディレクトリ、ハード リンク、dev ファイル、権限、uid/gid 所有権、変更時刻、拡張属性、acl、リソース フォークも保存します。

クラウドベースにしたいなら、私は有料サブスクリプションのCrashPlanを使用しています。一度もない手動バックアップについてはもう考える必要はありません。

答え3

この質問には既に回答があることは承知しています。しかし、Windowsも使用しているのがわかるので、クロスプラットフォームのGUIソリューションを追加したいと思いました。私も同じ目的で使用していますフリーファイルシンク. これも FLOSS です。

設定は非常に直感的で、さまざまな同期ジョブを保存できます。

PPA もありますが、現時点では 14.04 の最新バージョンは含まれていません。PPA 経由でインストールするには:

sudo apt-add-repository ppa:freefilesync/ffs
sudo apt-get update

関連情報