このような問題を解消するためにはどうすれば良いのでしょう?
scpを行うときは相手のサーバーパスワードが必要になるので、cronで実行ができないし、コマンドの最後に&をつけてもうまくいかない…。
(公開キーを使えばという案もありますが…)
そんな時は、nohup と bg コマンドで対応できることを知りました。
どちらも初めてのコマンドです。
$ nohup scp -r xyz root@10.3.2.1:/opt/xyz
nohup: appending output to `nohup.out'
root@10.3.2.1's password: <パスワードを入力する>
Ctrl+z でジョブをサスペンド
[1]+ Stopped nohup scp -r xyz root@10.3.2.1:/opt/xyz実行中のジョブを確認する。
$ jobs -l
[1]+ 19003 停止しました nohup scp -r xyz root@10.3.2.1:/opt/xyz
サスペンドしたジョブ「1」をバックグラウンドで実行再開する方法がbgコマンド。
$ bg 1
[1]+ nohup scp -r xyz root@10.3.2.1:/opt/xyz
ジョブの状態を確認する。
$ jobs -l
[1]+ 19003 Running nohup scp -r xyz root@10.3.2.1:/opt/xyz
とすると、ログアウトしても scp は止まらずに転送を継続してくれるのです。
こちらはまさに参考になりました。ありがとうございます。
http://d.hatena.ne.jp/yohei-a/20100212/1265950974
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。