Проблема.
Написал скрипт на bash в котором запускается скрипт написанный на expect. Запускаю - работает.
Пишу в crontab - не работает. Остальные скрипты работают через cron исправно, а с expect не хочет 8-(
Почему так?Суть скрипта примерно такая
#!/bin/bash
echo 'содержимое скрипта написанном с помощью expect' > /home/user/script1
chmod 0755 /home/user/script1
/home/user/script1
Ну что, кот нибудь подскажет почему expect по cron-у не выполняется ?
>Ну что, кот нибудь подскажет почему expect по cron-у не выполняется ?
>
PATH ?
#!/path/to/expect ?
>PATH ?
>#!/path/to/expect ?Путь стоит
#!/usr/bin/expect#!/usr/bin/expect -f
spawn /usr/bin/rsh cisco.router clear line tty ${Line}
expect "*confirm]"
send "\r"
interactПотом root-у приходит письмо, что то типа
/usr/bin/rsh cisco.router clear line tty 34
[confirm]и все. Вроде как не может нажать энтер для подтверждения(send "\r"), хотя если запустить вручную, то все работает.
Не может нажать enter,
ИМХО, в expect-скрипте нужно указать полный путь к коммандам
вроде:
"/usr/local/bin/wget" вместо "wget"
>ИМХО, в expect-скрипте нужно указать полный путь к коммандам
>вроде:
>"/usr/local/bin/wget" вместо "wget"Дык он выполняет первую строчку. (смотрите пред идущий ответ)
Сделал по другому. Прописал в крон скрипт
#!/bin/bash
/home/user/script1(/home/user/script1- скрипт expect)
Результат тот-же 8-(
>
>Дык он выполняет первую строчку. (смотрите пред идущий ответ)
>
>Сделал по другому. Прописал в крон скрипт
>#!/bin/bash
>/home/user/script1
>
>(/home/user/script1- скрипт expect)
>
>Результат тот-же 8-(
А что пишет /var/log/cron ?
>А что пишет /var/log/cron ?Да ничего криминального нет.
Aug 12 10:06:00 host CROND[22126]: (root) CMD (run-parts /etc/cron.min)
Aug 12 10:07:00 host CROND[22134]: (root) CMD (run-parts /etc/cron.min)
Aug 12 10:08:00 host CROND[22141]: (root) CMD (run-parts /etc/cron.min)Как бы скрипт выполняется, но там где нужно нажать enter(send "\r")для подтверждения [confirm], ничего не происходит. А если вручную запускать то все работает.
закинул бы посмотреть целиком строчку PATH из твоего /etc/crontab
>закинул бы посмотреть целиком строчку PATH из твоего /etc/crontabSHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/binexpect находиться в /usr/bin
Кто нибудь работал с expect через cron?
Почему не выполняется?