Re: [問題] expect 背景執行後的問題
※ 引述《coolkevin (我笑他人看不穿)》之銘言:
: 請問一下 我寫了一個定時重開某一台機器的script 檔名為restart.exp
: #!/usr/local/bin/expect -f
: spawn ssh root@192.168.16.20
: set timeout 15
: expect "root@192.168.16.20's password:"
: exec sleep 3
: send "lkksf442d\r"
: exec sleep 1
: send "reboot\r"
: exec sleep 5
: interact
: exit
: 當我直接執行的時候 $ expect -f restart.exp
: 這個script 的功能正常
: 但是當我用crontab 或 at 或 expect -f restart.exp &
: 他出現
: $ spawn ssh root@192.168.16.20
: root@192.168.16.20's password:
: 就停住不動了
: 我把timeout, sleep 都 去掉也是一樣的結果
: 請各位先進給點指導
: 謝謝
-----------------------------------------------------------
使用crontab的時候,你可以試試在script裡 使用 log_file 這個指令
使用方法如下:
step(1)
先產生一個log檔假設是在 /home/james目錄裡
名稱為:exp.log
step(2)
修改scrip:改寫coolkevin兄的程式如下:
#!/usr/local/bin/expect -f
log_file /home/james/exp.log
spawn ssh root@192.168.16.20
expect "*password:"
send "lkksf442d\r"
send "reboot\r"
expect eof
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.140.104
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):