検証済みの場合にのみ移動しますか?

検証済みの場合にのみ移動しますか?

何らかの理由でMTPヒューズインターフェースを介して携帯電話からファイルをコピーすると、ファイルが破損し、最後の数バイトが失われる可能性があります。転送成功後にファイルを一つ一つ削除したいのですが、いいえ問題がある場合は削除してください。このmvコマンドにはオプションはありません--verify。コピー、確認、削除する簡単なスクリプトを書くことができます。

ボーナスとして、コマンドで指定されたチェックサムが一致し、成功した(この場合)外部で確認することをお勧めしますjpeginfo -c。私考える短い読み取りはランダムに発生しますが、不良ファイルが実際にこの方法でキャッシュされていないかどうかを実際にテストしませんでした(そうでなければ、同じ方法で2回誤って読み取られる可能性があります)。それで、これはmv --verify --verifywith='jpeginfo -c'理想的です(jpeginfo -cJPEGファイルの正確性をテストするためのコマンドがありますが、私が知っているこのコマンドは切り捨てられた特定のファイルに対してエラーを返します)。

ベストアンサー1

rsyncを使用できます--remove-source-filesman rsync(強調):

これは、rsyncに送信側から転送の一部であるファイル(つまりディレクトリではない)を削除するように指示します。受信側から正常にコピーされました。

プロセス中にエラーが発生した場合は、削除しないだけでなく、成功したレプリケーションを確認する方法がわかりません。それがすべてかもしれません。

しかし、インターフェースが自動的にファイルを破損する場合、コピー/確認/削除でさえも問題は実際には解決されないと思います。確認でさえ、間違った結果をもたらす可能性があるからです。

MTPとモバイルを言われたので、Androidを使っていらっしゃいます。代替の FUSE インタフェースの使用を検討している場合は、試してみてください。データベースファイルシステム

おすすめ記事