FTP経由でファイルをアップロードするコンピュータがあります。このコンピュータで同じネットワーク上の別のコンピュータでcronjobとscp / rsyncを実行したいのですが(コピーするだけです)。
問題は、不完全なファイルをコピーしたくないということです(まだ転送中です)。別のサーバーにコピーする前にファイルが完成したことを確認できますか?
答え1
あなたはそれを使用することができます同期:
Lsyncdは、ローカルディレクトリツリーイベントモニタインタフェース(inotifyまたはfsevents)を監視します。数秒間イベントを集計して結合し、プロセスを作成して変更を同期します。デフォルトではこれはrsyncです。
指定できます停止する後でファイルへの変更が同期されます。たとえば、通常のアップロード時間の5倍に設定すると大丈夫でしょう。
答え2
もしlsyncdについての考え気に入らない。なぜなら」一般的なアップロード時間「アップロードサイズの広い範囲(32Kから1234Tまで)を考慮しなくても、インターネットなどのメディアには明らかに問題があります。FTP転送の再開。まあ、私の考えでさえあなたには役に立たないと思います。しかし、どのように使用するかラソフ? ! ?
lsof /home/ftp
まあ、lsyncdドキュメントを注意深く読んだ後、私の懸念は」一般的なアップロード時間" - 根拠がないようです。監視するデフォルトのinotifyは"CloseWrite"であり、まともなようです。YMMV。