rsync - オプション「ignore-existing」により宛先に何もコピーされない場合でも、ソース ディレクトリからファイルを削除します。

rsync - オプション「ignore-existing」により宛先に何もコピーされない場合でも、ソース ディレクトリからファイルを削除します。

ルーターに接続されたフラッシュドライブにフォルダがあり、そこにHTPCの起動時に同期するファイルをコピーします。起動時に小さな同期スクリプトが実行されます。

rsync --remove-source-files --ignore-existing -a source/ destination

これにより、ファイルが HTPC に移動し、ソース ディレクトリのファイルが削除されます。ただし、ファイルがすでに存在する場合は何もコピーされません (タイムスタンプのチェックはなく、ファイル名のチェックのみ)。ただし、rsync が宛先ディレクトリに同じ名前のファイルがすでに存在することを認識した場合は、ソース ディレクトリのファイルを削除する必要があります。

これはrsyncで実行できますか?

答え1

いい質問ですね。私も同じような使用例があり、アップロードには FileZilla を使用しました (この特定のケースでは、並列接続のためより高速になるため)。そして、rsync には検証だけを行って転送されたソース ファイルを削除するようにしたかったのです。

私は rsync にそれを強制的に実行させました-c。その場合にのみ、通常のスキップ チェック (サイズ + 時間に基づく) を使用して、以前は削除されなかったソース ファイルも削除されるようになりました。

関連情報