2つの場所に2つのファイルサーバーがあります。現在、両方に同じデータがあり、通常は変更されていません(読み取り専用アクセスに使用されます)。2番目のサーバー(私が接続しているサーバー)がセットアップされたとき、データはLAN経由でコピーされ、地理的に移動されました。
必要なディレクトリで初めてrsyncを使用しようとしています。コマンドの例。
Sudo rsync -avz --ignore-existing -P --dry-run /media/Storage/OSs/ user@mydomain:/mnt/Storage/OSs/
-c -t -u(さらにリモートサーバーにアクセスし、タイムスタンプを今日に更新しました)を使用してみましたが、ドライランを実行するたびにすべてをコピーする必要があります。
さらに、ユーザーは同じUIDを持つ両方のマシンで同じです。
*編集
少し遊んだ後、rsyncはサブディレクトリ名の空白を好まないことがわかりました。たとえば、ローカルシェルをエスケープするために 'を使用し、リモートシェルをエスケープするために\を使用する場合
Sudo rsync -avz --ignore-existing -P '/ media/Storage/OSs/Windows/Windows server 2011 /' 'user @ mydomain:/ mnt/Storage/OSs/Windows/Windows\server\2011 /'
その後、すべてが順調です。私の理論では、rsyncは空白を含むサブディレクトリを好まないということです。数千のサブディレクトリがあります。私が考えることができる唯一の解決策は、各サブディレクトリを個別に実行する小さなpython/Shellスクリプトを書くことですが、望ましくありません。
弾丸をかむべきだったことが判明しました...ドライランは、探索するディレクトリを出力するだけで、実際のファイルは出力しませんでした。
私は実際にrsyncを実行しましたが、1つまたは2つの新しい追加を除いてすべてをスキップして大丈夫でした。
参考のため、これは機能しました。
Sudo rsync -avzs --ignore-existing --progress '/media/Storage/OSs/' 'User@MyDomain:/mnt/Storage/OSs/'