web-dev-qa-db-ja.com

ネットワークドライブと外付けドライブ(UbuntuとOS X)を同期するにはどうすればよいですか?

最近の ハードウェア障害 に照らして、バックアップに関してもう少し緩い時間になると判断しました。

私が持っているもの:

  • Ubuntu 10.10 'サーバー/ NAS'
  • MacBook 5,2
  • WD外付けHDD

サーバーとMacBookはイーサネットで永続的に接続されています。

サーバー上に、時々接続する外付けドライブとの同期を維持したいディレクトリがあります。 Ubuntuファイルシステムはext4で、外付けドライブはHFS +(Mac OS Extended [Journaled])です。これは大文字と小文字を区別しないことに注意してください。これが問題かどうかはわかりません。もしそうなら、外付けHDDを再フォーマットすることができます。

OS X10.6にはかなり古いrsync、ver。が付属していることにも注意してください。 2.6.9。これには、リソースフォークなどの取り扱いに問題があると思います。

それでは、続行するための最良の方法は何ですか?

  • ネットワーク全体でrsyncを実行する必要がありますか?もしそうなら、CLIを使用してこれを達成する方法に関するいくつかのガイダンスをいただければ幸いです(私はrsyncのマニュアルページを何度も読んだので、頭を悩ませることはできません)。
  • または、HFS +でフォーマットされたドライブをサーバーに接続するだけで、Linuxで読み取りと書き込みができるように、カーネルモジュールをインストールする必要がありますか?繰り返しになりますが、いくつかのrsyncCLIガイダンスは素晴らしいでしょう。
  • それとも私は完全に何か他のことをするべきですか?

乾杯。

4
boehj

はい、rsyncが答えです。

ドライブをローカルに接続すると、ネットワークよりもはるかに高速になりますが、バックアップを実行するために、実際にはハードウェアをそのままにしておくことをお勧めします。遅いことをして、ネットワーク経由で転送します...必要に応じてリモートからリモートに転送します。そうすれば、触れても何も壊れません。

Rsyncコマンドには4つの主要な部分があります。まず、輸送メカニズム。ローカルからローカルへの転送の場合、これはスキップされます。いずれかの側がリモートの場合、通常、SSHトランスポートを使用するためにrsync -e sshのような転送エージェントを指定します。その後、ファイルのソース(ディレクトリを指定する場合はスラッシュで終了します!)を指定し、次にターゲット(ディレクトリを同期するスラッシュで終了します!)を指定します。これまでにrsync -e ssh machine1:/source/folder/ machine2:/source/folder/があります。次に、--exclude PATTERNを使用してスキップするもの、-zを使用した有線圧縮、再帰的なものを処理するための-aアーカイブオプション、一致する権限などのオプションを追加できます。詳細や進行状況を確認したい場合は、-vまたは--progressを追加できます。 。

サンプル:

rsync -avze ssh ubuntu:/path/to/source/files/ osxhost:/path/to/backup/drive/
4
Caleb

私が使用する基本的なコマンドはrsync -vaP user@Host1:/files/ user@Host2:/files/です。時々--exclude-from--delete--delete-excludedを使用します。

バックアップ用のrsyncの優れたラッパーは dirvish です。

1