ネットワーク経由でファイルを移動するにはどうすればよいですか? -- 無人 / ユーザー入力を待たずにエラーを処理しますか?

ネットワーク経由でファイルを移動するにはどうすればよいですか? -- 無人 / ユーザー入力を待たずにエラーを処理しますか?

私はときどき、LAN 経由で 1 つの HDD から別の HDD に大量のファイル (50 GB 以上) を移動しています。これには時間がかかります。戻ってみると、特定のファイルに問題があるときにユーザー入力 (キャンセル、スキップ、すべてスキップなど) を待っている間に停止していることがよくあります。もちろん、最初のエラーを待って「すべてスキップ」を選択することもできますが、これは非常に悪い解決策です。ログに記録されず、待たなければなりません。

私はこれをNautilusでやっています。

これを行うには、もっと良い方法があるはずです。問題のあるファイルをすべて自動的にスキップし、移動されなかったファイルと各ファイルの問題が何であったかを示すログ ファイルを生成できるようにしたいと思います。

これを実行するツールまたはスクリプトはありますか?

答え1

rsyncを試しましたか?

これはコマンドライン ユーティリティなので、Nautilus ほどユーザーフレンドリーではありませんが、必要な作業を自動化するにはコマンドラインが最適です。rsync は可能な限り転送しようとし、すべてのエラーをログに記録します。また、「差異」または変更のみを送信するため、同期状態に戻すには再実行するだけで「安価」です。

rsync 以外に、受信側のコンピュータに openssh-server をインストールして、次のようにする必要があります。

rsync -avu --progress source_folder remote-computer.local:Desktop/

フォルダーはリモート コンピューターに送信され、デスクトップに配置されます。

宛先システムの IP がわかっている場合は、remote-computer.local の代わりに IP アドレスを使用できますが、デフォルトでは .local ドメインが機能するはずなので、コンピューターのホスト名が「buckaroo」の場合は、buckaroo.local として指定できます。

関連情報