スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

cronでscpする方法

cronでscpするのに、かなり迷ったのでメモ。

ls -1 /var/www/html/log-`date '+%Y%m%d'`* | while read fname
do

expect -c "
set timeout 60
spawn scp -i /var/www/.ssh/id_rsa -P 9022 ${fname} sshuser@123.456.789.012:put_directry/
expect {
\" Are you sure you want to continue connecting (yes/no)? \" {
send \"yes\r\"
expect \"passphrase\"
send \"パスワード\r\"
} \"passphrase\" {
send \"パスワード\r\"
}
}
expect {
\"denied\" { exit 0 } \
\"100%\" { exit 1 }
}
"
done


expectで対話形式で自動的に処理が出来るが、
cronから実行するとinteract が使えなかったり

spawn scp -i /var/www/.ssh/id_rsa -P 9022 /var/www/html/log-`date '+%Y%m%d'`* sshuser@123.456.789.012:put_directry/

とアスタリスクでアップ出来なかったりと、色々と問題があった。

これで、一応OK!

参考サイト
o0 expectを利用し複数ファイルscpする 0o
expectコマンドで、scpを自動化するためのスクリプト
ssh-addとexpectによるパスフレーズ入力がcronでは機能しない
スポンサーサイト

トラックバック

コメント

コメントを残す

Secret


プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。