crontab 搭配 expect - Linux

By Ophelia
at 2012-03-17T01:11
at 2012-03-17T01:11
Table of Contents
感謝大家,我找到解法了!!!
關鍵在於需要"等到"要傳送的檔案開始傳送才可以繼續下個動作
以下是放到crontab可以work的程式
來源:https://blogs.oracle.com/SanthoshK/entry/automate_linux_scp_command
#!/usr/bin/expect -f
# connect via scp
set timeout 600
spawn scp /u01/dumps/file.dmp "[email protected]:/home/santhosh/file.dmp"
expect {
-re ".*es.*o.*"
{
exp_send "yes\r"
exp_continue }
-re ".*sword.*"
{
exp_send "PASSWORD\r"
exp_continue }
-re "file.dmp.*" {
sleep 5 send "\r"
exp_continue }
}
exit
※ 引述《jjkkwsr (JJKKWSR)》之銘言:
: 小弟用 expect 寫了一支 scp 的程式
: 定期會送 log 到另一台 server 上,手動執行沒問題
: 但放到 crontab 時就無法執行
: expect 程式如下
: log.sh
: ======================
: #!/usr/bin/expect -f
: spawn scp bash -c "/tmp/loginlog [email protected]:/home/jjkkwsr/backup"
: expect "password:"
: send "****\n"
: interact
: ======================
: crontab 設定如下(都已用完整路徑)
: ======================
: */1 * * * * /usr/bin/expect /export/log.sh > monitor
: ======================
: 執行完 crontab 後的記錄檔,發現卡在 password
: ======================
: spawn scp bash -c /tmp/loginlog [email protected]:/home/jjkkwsr/backup
: password:
: ======================
: 爬過前文有人遇到相同的問題,癥結點似乎在於 crontab 的 stdin 和 stdout
: 請問有前輩可以指點小弟是否有什麼地方遺漏了嗎,感謝><
--
連天烽火漫無邊 楚河漢界戰國天 加霜覆雪麻煩牽 一木生子帶頭尖
戰事綿延滿人間 瑜亮情節非等閑 上無宮闕難成仙 共謀天下劃兩邊
是該英雄出頭時 也怨老天未眷顧 阿蒙今已非比昔 三分藍袍破家門
豬羊變色任我顛 是非總有清曉年 扁擔欲撐半邊天 隻手遮天禍人間
http://www.wretch.cc/user/jjkkwsr
--
關鍵在於需要"等到"要傳送的檔案開始傳送才可以繼續下個動作
以下是放到crontab可以work的程式
來源:https://blogs.oracle.com/SanthoshK/entry/automate_linux_scp_command
#!/usr/bin/expect -f
# connect via scp
set timeout 600
spawn scp /u01/dumps/file.dmp "[email protected]:/home/santhosh/file.dmp"
expect {
-re ".*es.*o.*"
{
exp_send "yes\r"
exp_continue }
-re ".*sword.*"
{
exp_send "PASSWORD\r"
exp_continue }
-re "file.dmp.*" {
sleep 5 send "\r"
exp_continue }
}
exit
※ 引述《jjkkwsr (JJKKWSR)》之銘言:
: 小弟用 expect 寫了一支 scp 的程式
: 定期會送 log 到另一台 server 上,手動執行沒問題
: 但放到 crontab 時就無法執行
: expect 程式如下
: log.sh
: ======================
: #!/usr/bin/expect -f
: spawn scp bash -c "/tmp/loginlog [email protected]:/home/jjkkwsr/backup"
: expect "password:"
: send "****\n"
: interact
: ======================
: crontab 設定如下(都已用完整路徑)
: ======================
: */1 * * * * /usr/bin/expect /export/log.sh > monitor
: ======================
: 執行完 crontab 後的記錄檔,發現卡在 password
: ======================
: spawn scp bash -c /tmp/loginlog [email protected]:/home/jjkkwsr/backup
: password:
: ======================
: 爬過前文有人遇到相同的問題,癥結點似乎在於 crontab 的 stdin 和 stdout
: 請問有前輩可以指點小弟是否有什麼地方遺漏了嗎,感謝><
--
連天烽火漫無邊 楚河漢界戰國天 加霜覆雪麻煩牽 一木生子帶頭尖
戰事綿延滿人間 瑜亮情節非等閑 上無宮闕難成仙 共謀天下劃兩邊
是該英雄出頭時 也怨老天未眷顧 阿蒙今已非比昔 三分藍袍破家門
豬羊變色任我顛 是非總有清曉年 扁擔欲撐半邊天 隻手遮天禍人間
http://www.wretch.cc/user/jjkkwsr
--
Tags:
Linux
All Comments

By Frederic
at 2012-03-20T03:11
at 2012-03-20T03:11
Related Posts
dos2unix "Skipping binary file"

By Oliver
at 2012-03-16T23:21
at 2012-03-16T23:21
遠端控制選擇系統

By Odelette
at 2012-03-16T20:41
at 2012-03-16T20:41
partial update

By Thomas
at 2012-03-16T16:12
at 2012-03-16T16:12
雙系統重灌ubuntu cpu變慢

By Isabella
at 2012-03-16T13:28
at 2012-03-16T13:28
請教關於電源管理

By Mason
at 2012-03-16T07:49
at 2012-03-16T07:49