web-dev-qa-db-ja.com

変更されたファイルのみをディスクから外部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_linuxのサイズが50 GBを超える場合、すべてのコピーに1時間以上かかり、これは遅すぎます。実際には、最後のバックアップから数MBしか変更されていないことが多いため、理論的にはコピーをはるかに高速に行うことができます。

どうやってするか?

-uフラグを付けたcpが私のニーズに一致する可能性があることをGoogleで検索しました。それは機能しますか(たとえば、サブディレクトリのサブディレクトリを正しく処理しますか?)

また、ファイルシステムを外部ディスクに保存することは、バックアップを行う適切な方法ですか、それとも手の込んだ方法がありますか?たとえば、クラウドを使用していますか?より洗練された方法は単純でなければなりません。そうしないと、1つのシェルコマンドの実行のしやすさを上回ることはありません。

7
mercury0114

あなたはrsyncが何のために設計されたのかを説明しています。 man 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

多数のオプションが利用可能ですが、-rtvrを繰り返し同期し、t同じことをコード化しますが、vそれが何をしているのかについて詳しく説明します。

13
Oli

この質問にはすでに受け入れられた答えがあります。ただし、ウィンドウも使用しているので、クロスプラットフォームGUIソリューションを追加したかったのです。私は同じ目的で使用します Freefilesync 。また、FLOSSです。

構成は完全に直感的で、さまざまな同期ジョブを保存できます。

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

Sudo apt-add-repository ppa:freefilesync/ffs
Sudo apt-get update
1
Bruni

2番目の質問に答えるために、より洗練されたバックアップ方法はrdiff-backupです。

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

そして、本当にクラウドベースにしたい場合:私は有料のサブスクリプションでCrashPlanを使用しています。それからnever手動バックアップについてもう考える必要はありません。

0