リモートサーバーAからサーバーBにファイルを転送する必要がありますが(ターミナル(パテ)を使用してBにログイン)、この操作はバックグラウンドでも実行する必要があります(ターミナルを閉じて終了できるように)。私が試したことは、puttyを使用してターゲットコンピュータBにログインし、rsyncコマンドを実行することです。
rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
ただし、パテを閉じるとプロセスも中断されます。
答え1
画面はどうですか?
screen - VT100/ANSI端末エミュレーションを含むスクリーンマネージャ
画面のある端末を開きます。
コマンドを実行するには端末を閉じます。
必要に応じて再接続できます。
答え2
これらのタスクのデフォルトの選択は古くなっています。nohupコマンドコマンドの前に;nohup
接頭辞がある場合は、端末を閉じた後もコマンドが続行されます。
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
rsync が完了する前にウィンドウを閉じると、その出力の残りの部分がnohup.out
rsync を起動したディレクトリに指定されたファイルに書き込まれます。
ただし、rsyncを起動してログアウトする前に他のタスクを実行するには、コマンドラインの&
最後に追加してバックグラウンドで実行するようにしてください。この場合、rsyncは後続のコマンドを妨げる出力をエクスポートするため、その出力もファイルにリダイレクトする必要があります。
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/ > rsync.log 2>&1 &