Автоматический перезапуск телефонов по ssh (sshpass, expect или другие варианты)
Стоит задача удалённо перезагружать ip-телефоны каждую ночь. Глючат от долгой работы.
Вариант с sshpass:
sshpass -p 12345678 ssh -o StrictHostKeyChecking=no admin@192.168.2.1 reboot
В ответ Connection to 192.168.2.1 closed by remote host.
Помимо этого телефон, в обычном режиме, просит ответить y и решил перейти ко второму варианту.
Вариант с expect:
Взять и адаптирован на пробу код с интернета:
COMM="
log_file debug.log
exp_internal 1
set timeout 5
spawn ssh admin@192.168.2.1
expect \"password:\"
send \"12345678\r\"
sleep 5
expect \"*>\"
send \"reboot\r\"
sleep 5
expect \"*y/N*\"
send \"y\r\"
expect eof
"
expect -c "$COMM"
Когда выполняю сам из консоли всё ок. По cron, судя по debug.log, почему-то после авторизации на устройстве не появляется строка для ввода команды expect \«*>\». Даже если убрать expect \«*>\» и просто слать send, нет никакой реакции.
Прошу подсказки в решении задачи. Спасибо.