1

マシンを telnet して再起動するためのスクリプトを作成しようとしています。スクリプトを手動で実行すると、期待どおりに動作します

しかし、crontab で autoacall を実行しようとすると、プロセスが完了しません。

スクリプトは次のとおりです。

#!/usr/local/bin/expect
spawn telnet 192.168.1.1
expect "login:"
send "root\r"
expect "Password:"
send "<password>\r"
send "bash\r"
send "cd /opt\r"
send "reboot\r"
interact

スクリプトの出力 (cron で実行した場合)

spawn telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
DD-WRT v24-sp2 std (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)
RK-SWOT-2 login: root
Password:

以上です。cron を進める必要はもうありません。これを手伝ってもらえますか?

4

1 に答える 1

2

問題を修正しました。

問題はinteractコマンドにあったと思います。に変更しました

expect eof

そして問題はなくなりました。

于 2012-08-16T07:29:31.047 に答える