Ubuntuファイルシステム内にmy_projects_linux
というディレクトリがあり、長年のすべての作業が含まれています。ディレクトリには、ファイル、サブディレクトリなどが含まれます。
バックアップの目的で、このディレクトリとそのすべてのコンテンツを外部ハードドライブにコピーすることがあります。
したがって、外付けドライブの内容は次のようになります。
/mounted_drive/my_projects_linux
/mounted_drive/my_projects_windows # the same idea to backup Windows work
したがって、私が探しているのはコマンドです:
として働くだろう
cp /home/my_projects_linux /mounted_drive/my_projects_linux
外部ディスク内の古いファイル、サブディレクトリ、サブディレクトリ内のファイルなどを、PCの新しいコンテンツで置き換える必要があります。
高速化。変更されたファイルまたは新しく作成されたファイルのみをコピーする必要があります。 my_projects_linux
のサイズが50 GBを超える場合、すべてのコピーに1時間以上かかり、これは遅すぎます。実際には、最後のバックアップから数MBしか変更されていないことが多いため、理論的にはコピーをはるかに高速に行うことができます。
どうやってするか?
-u
フラグを付けたcpが私のニーズに一致する可能性があることをGoogleで検索しました。それは機能しますか(たとえば、サブディレクトリのサブディレクトリを正しく処理しますか?)
また、ファイルシステムを外部ディスクに保存することは、バックアップを行う適切な方法ですか、それとも手の込んだ方法がありますか?たとえば、クラウドを使用していますか?より洗練された方法は単純でなければなりません。そうしないと、1つのシェルコマンドの実行のしやすさを上回ることはありません。
あなたは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
多数のオプションが利用可能ですが、-rtv
はrを繰り返し同期し、t同じことをコード化しますが、vそれが何をしているのかについて詳しく説明します。
この質問にはすでに受け入れられた答えがあります。ただし、ウィンドウも使用しているので、クロスプラットフォームGUIソリューションを追加したかったのです。私は同じ目的で使用します Freefilesync 。また、FLOSSです。
構成は完全に直感的で、さまざまな同期ジョブを保存できます。
Ppaもありますが、現時点では14.04の最新バージョンは含まれていません。 PPA経由でインストールするには:
Sudo apt-add-repository ppa:freefilesync/ffs
Sudo apt-get update
2番目の質問に答えるために、より洗練されたバックアップ方法はrdiff-backup
です。
rdiff-backupは、ネットワークを介して、あるディレクトリを別のディレクトリにバックアップします。ターゲットディレクトリはソースディレクトリのコピーになりますが、追加の逆差分はそのターゲットディレクトリの特別なサブディレクトリに保存されるため、しばらく前に失われたファイルを回復できます。アイデアは、ミラーと増分バックアップの最高の機能を組み合わせることです。 rdiff-backupは、サブディレクトリ、ハードリンク、開発ファイル、権限、uid/gidの所有権、変更時間、拡張属性、ACL、およびリソースフォークも保持します。
そして、本当にクラウドベースにしたい場合:私は有料のサブスクリプションでCrashPlanを使用しています。それからnever手動バックアップについてもう考える必要はありません。