私が考慮したいフォルダの構造は次のとおりです。
/mnt/network/
私のネットワークドライブ
/local/
私のローカルフォルダです。私が望むのは、これら2つのフォルダの内容(約350 GBのデータを表す)を同期することです。私は2つの人気戦略を知っています。同期そして一貫した。そうだUnisonは遅くなる可能性があります。データ量が多すぎるため、rsyncのみを考慮してください。
これら2つのフォルダを同期したいので、2つのコマンドを実行します。 /local/ のコピー 1:
rsync -avzut --progress --files-from=<(find . -mmin -1440 -type f) /local/. /mnt/network/
そして一つは/mnt/network/にあります:
rsync -avzut --progress --files-from=<(find . -mmin -1440 -type f) /mnt/network/. /local/
このコマンドを使用して、rsyncの実行を過去24時間(= 1440分)以内に更新されたファイルに制限します。この戦略について2つの質問があります。
最初のコマンド(/mnt/network/の内容を更新)を2回実行すると、最新のファイルが2回コピー:(a)コマンドが最初に実行されたとき - これは私が望むものです。そして(b)コマンドが2回目に実行されるときです。 (b)が異常だと思います。なぜなら、この段階で/local/と/mnt/network/のファイルが同じであるからです(サイズとタイムスタンプを確認しました)。これはrsyncとfindの組み合わせと関係がありますか? --size-only: / オプションを追加することを検討しましたが、
rsync -avzut --size-only --progress --files-from=<(find . -mmin -1440 -type f) /local/. /mnt/network
これは問題を処理する安定した方法ではないようです。2番目の問題は、findコマンドが/mnt/network/で実行される速度が非常に遅いことです。だから私はサーバーにsshで接続してfindコマンドを実行し、そのコマンドの結果を自分のローカルコンピュータに戻す方法を探しています。その後、ファイル転送を実行します(サーバーが自分のローカルディスクに直接アクセスしたくないため、サーバーはこのファイル転送を注文できません)。どうすればいいのかわかりません...