Re: [問題] crontab 搭配 expect

看板Linux作者 (JJKKWSR)時間14年前 (2012/03/17 01:11), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/3 (看更多)
感謝大家,我找到解法了!!! 關鍵在於需要"等到"要傳送的檔案開始傳送才可以繼續下個動作 以下是放到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 "user@example.com:/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 jjkkwsr@192.168.2.204:/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 jjkkwsr@192.168.2.204:/home/jjkkwsr/backup : password: : ====================== : 爬過前文有人遇到相同的問題,癥結點似乎在於 crontab 的 stdin 和 stdout : 請問有前輩可以指點小弟是否有什麼地方遺漏了嗎,感謝>< -- 天烽火漫無邊 河漢界戰國天 霜覆雪麻煩牽 木生子帶頭尖 事綿延滿人間 亮情節非等閑 無宮闕難成仙 謀天下劃兩邊 該英雄出頭時 怨老天未眷顧 蒙今已非比昔 分藍袍破家門 羊變色任我顛 非總有清曉年 擔欲撐半邊天 手遮天禍人間 http://www.wretch.cc/user/jjkkwsr -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.138.164.5

03/24 12:13, , 1F
我也有在用 execpt 好筆記先收下了 感謝
03/24 12:13, 1F

03/24 12:13, , 2F
expect ....
03/24 12:13, 2F
文章代碼(AID): #1FOtG-dJ (Linux)
文章代碼(AID): #1FOtG-dJ (Linux)