人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SCP に関する?質問です。
実機にある6G程度のファイルを、バックアップサーバーにSCPで定期的に(cronで)コピーしようとしています。
cron を仕掛けてあるのはバックアップサーバー側です。

ターミナルから SCP を直接実行すると、特に問題なくファイルを転送してくれます。
しかし cron で同じ SCP コマンドを実行すると、6G のファイルのうち、2M 程度を
転送してプロセスが終了してしまいます。
ps コマンドで見ていても起動から10秒程度でプロセスが消えてしまい、
また、/var/log/cron にも何もエラーらしきログは出ていません。
(タイムスタンプを見る限り、書き込まれているのは /var/log/cron 以外にはなさそうです)

2M のファイルを vi で見ると、途中までは正しく転送されているようです。
バックアップ機のOSはCentOS 5 です。

これは何が原因なのでしょうか?
識者の方、教えて頂ければ幸いです。


●質問者: snaa1d_1
●カテゴリ:コンピュータ インターネット
✍キーワード:CentOS PS vi エラー コピー
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pyopyopyo
●90ポイント

interact コマンドがタイムアウトしていると思います。

set timeout 3600 で設定した値は interact コマンドには反映されませんので、

interact timeout 3600 

と最後の行を書き換えると解決しないでしょうか?

あと、別解として interact コマンドを使わない方法もあるかと思います。

たとえば

scp -v ...

とすると、scpコマンドは詳細な情報を stderr へ出力するようになります。コピー終了時には "debug1: Exit status" というメッセージを stderr へ出力しますので、これを expect で拾うようにしても良いと思います。

◎質問者からの返答

ありがとうございます。

interact timeout 3600

を試してみたのですが、やはり転送結果は 2M でした。

cron で起動しているのに interact を使う必要がある事も何故かが分かっていないのですが、

このあたりは疑いの余地がありそうですね。。

ヒント程度の情報でも回答はどんどんして頂ければと思います。


2 ● b-wind
●45ポイント

ちなみに scp は expect コマンドより起動しています。

セキュリティ上好ましくないのは承知の上でやっています(まずは動作確認したかったので)

今のところの情報では疑うところの見当も付かんが、except を介することで余計にややこしくなってる気がする。

ssh scp sftp の正しい自動実行方法

まずは正攻法でやってみることが先決。


/var/log/cron にも何もエラーらしきログは出ていません。

そこじゃねぇ。それは cron が何を起動したかしか書いてない。

実行中の出力自体はメールで送られてくるんだよ。

実行ユーザーか root のメールボックスを漁ってみる事。


3 ● makeworld
●250ポイント ベストアンサー

interactの代わりに、expect eofで受けてあげれば良いと思います。

#!/bin/bash

passwd="my-password"

expect -c "
 set timeout 3600
 spawn scp xxxx@example.com:/var/xxx/xxx.tgz /var/xxx/xxxx/
 expect {
 \"Are you sure you want to continue connecting (yes/no)? \" {
 send \"yes\r\"
 expect \"password: \" { send \"$passwd\r\"; }
 }
 \"password: \" { send \"$passwd\r\"; }
 }
 expect {
 \"denied\" { exit 1 }
 eof { exit 0 }
 }
"
◎質問者からの返答

ありがとうございます。す、すごいです。。

半ば諦めかけていました。。

eof を待つことで何故処理を継続してくれるのか、イマイチ理解できていませんが、

うまく処理ができました。

本当にありがとうございます。

何故これがうまくいったかに関しては、勉強しておきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ