看板 Linux 關於我們 聯絡資訊
小弟用 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.162.139
LINGZ:設定scp無需使用密碼認証,改用key認証登入. 03/15 10:52
rhoad:crontab格是好像有錯 沒有指定執行的使用者 如:root 03/15 14:37
rhoad:ssh也要做key scp才不會問密碼 03/15 14:37
jjkkwsr:感謝樓上回答,但因為我管理極大量的server 03/16 21:27
jjkkwsr:且數目還會持續增加,加上目的位址的server是別人的 03/16 21:27
jjkkwsr:不得已才用expect互動式登入的方式orz 03/16 21:28