LINUX.ORG.RU
ФорумAdmin

cron error ?


0

1

Подскажите в чем проблемма ?

init.sh

#!/bin/sh
ping -c 2 ya.ru
if [ $? -ne 0 ]; then 
   /etc/init.d/network-manager restart;
fi 

crontab -l

*/1 * * * * /home/init.sh

syslog

Jun 19 15:33:02 mail CRON[5967]: (CRON) error (grandchild #5968 failed with exit status 127)


127 = command not found

Попробуйте указать полный путь к ping.

Кстати, можно писать вот так:
/bin/ping -c 2 ya.ru || /etc/init.d/network-manager restart


А в начало скрипта полезно дописать exec >/dev/null 2>&1, чтобы выхлоп ping'а не шёл Вам на почту (попробуйте ввести mail в терминале)

AITap ★★★★★
()
Ответ на: комментарий от CyberDx

вот лог если пинг проходит

Jun 19 16:01:01 mail CRON[8621]: (root) CMD (/home/init.sh)

CyberDx
() автор топика
Ответ на: комментарий от coldy

Вот лог с пингом и без..........

Jun 19 16:04:01 mail CRON[8783]: (dx) CMD (/home/init.sh)
Jun 19 16:04:01 mail CRON[8784]: (root) CMD (/home/init.sh)

Jun 19 16:05:01 mail CRON[8922]: (root) CMD (/home/init.sh)
Jun 19 16:05:01 mail CRON[8921]: (dx) CMD (/home/init.sh)
Jun 19 16:05:02 mail CRON[8919]: (CRON) error (grandchild #8922 failed with exit status 127)
Jun 19 16:05:02 mail CRON[8920]: (CRON) error (grandchild #8921 failed with exit status 127)

CyberDx
() автор топика
Ответ на: комментарий от leave

ubuntu 10.10

/home/init.sh

-rwxr-xr-x 1 root root 304 2011-06-19 15:47 /home/init.sh*

CyberDx
() автор топика

А зачем проверять работает ли интернет: network-manager глючит или вы так соединение переподключаете?

kompas
()
Ответ на: комментарий от coldy

А что ещё может вызывать ошибку 127? Что-то внутри init-скрипта?

Можно попробовать set -x для отладки...

AITap ★★★★★
()
Ответ на: комментарий от coldy

> crontab /home/coldy/init.sh
init.sh не является файлом crontab.

Нужно запустить crontab -e и дописать туда вызов этого файла.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Jun 19 22:04:01 proton CRON[3242]: (coldy) CMD (/home/coldy/init.sh)

Jun 19 22:04:01 proton CRON[3241]: (CRON) error (grandchild #3242 failed with exit status 126)

Jun 19 22:05:01 proton CRON[3247]: (coldy) CMD (/home/coldy/init.sh)

Jun 19 22:05:01 proton CRON[3245]: (CRON) error (grandchild #3247 failed with exit status 126)

Jun 19 22:05:01 proton CRON[3245]: (CRON) info (No MTA installed, discarding output)

Мда..

coldy ★★
()
Ответ на: комментарий от coldy

> If a command is not found, the child process created to execute it returns a status of 127. If a command is found but is not executable, the return status is 126.
/etc/init.d/network-manager, конечно, имеет право на выполнение?

AITap ★★★★★
()
Ответ на: комментарий от AITap

Jun 19 22:25:28 proton dhclient: DHCPREQUEST of *.*.*.* on eth0 to *.*.*.* port 67

Jun 19 22:25:28 proton dhclient: DHCPACK of *.*.*.* from *.*.*.*

Jun 19 22:25:28 proton dhclient: bound to *.*.*.* — renewal in 1547 seconds.

Jun 19 22:32:01 proton CRON[3690]: (CRON) error (grandchild #3691 failed with exit status 127)

Jun 19 22:32:01 proton CRON[3690]: (CRON) info (No MTA installed, discarding output)

Теперь и у меня 127 =)

coldy ★★
()
Ответ на: комментарий от AITap

Совершенно потерял нить, надо читать маны. Содержимое:

+ set -e
+ basename /etc/init.d/network-manager
+ INITSCRIPT=network-manager
+ JOB=network-manager
+ [ network-manager = upstart-job ]
+ [ -z restart ]
+ COMMAND=restart
+ shift
+ [ -z  ]
+ ECHO=echo
+ echo Rather than invoking init scripts through /etc/init.d, use the service(8)
Rather than invoking init scripts through /etc/init.d, use the service(8)
+ echo utility, e.g. service network-manager restart
utility, e.g. service network-manager restart
+ echo

+ echo Since the script you are attempting to invoke has been converted to an
Since the script you are attempting to invoke has been converted to an
+ echo Upstart job, you may also use the restart(8) utility, e.g. restart network-manager
Upstart job, you may also use the restart(8) utility, e.g. restart network-manager
+ +  /[0-9]$/ { print $NF }
status network-manager
+ PID=1010
+ [ -z 1010 ]
+ [ -n 1010 ]
+ [ restart = start ]
+ [ -z 1010 ]
+ restart network-manager
restart: Rejected send message, 1 matched rules; type="method_call", sender=":1.62" (uid=1000 pid=3699 comm="restart) interface="com.ubuntu.Upstart0_6.Job" member="Restart" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))

coldy ★★
()
Ответ на: комментарий от coldy

> restart: Rejected send message, 1 matched rules; type=«method_call», sender=":1.62" (uid=1000 pid=3699 comm=«restart) interface=„com.ubuntu.Upstart0_6.Job“ member=„Restart“ error name=»(unset)" requested_reply=0 destination=«com.ubuntu.Upstart» (uid=0 pid=1 comm=«/sbin/init»))
Видимо, здесь и случается выход с кодом 127.
Нужно указывать какие-то переменные для связи с dbus?

AITap ★★★★★
()
Ответ на: комментарий от coldy
Jun 20 01:25:01 proton CRON[6508]: (coldy) CMD (/home/coldy/init.sh)
Jun 20 01:25:12 proton sendmail[6511]: p5JJPC6q006511: from=coldy, size=401, class=0, nrcpts=1, msgid=<201106191925.p5JJPC6q006511@localhost6.localdomain6>, relay=coldy@localhost
Jun 20 01:25:12 proton sm-mta[6512]: p5JJPCBf006512: from=<coldy@localhost6.localdomain6>, size=699, class=0, nrcpts=1, msgid=<201106191925.p5JJPC6q006511@localhost6.localdomain6>, proto=ESMTP, daemon=MTA-v4, relay=localhost.localdomain [127.0.0.1]
Jun 20 01:25:12 proton sendmail[6511]: p5JJPC6q006511: to=coldy, ctladdr=coldy (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30401, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p5JJPCBf006512 Message accepted for delivery)
Jun 20 01:25:12 proton sm-mta[6513]: p5JJPCBf006512: to=<coldy@localhost6.localdomain6>, ctladdr=<coldy@localhost6.localdomain6> (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30957, dsn=2.0.0, stat=Sent

закапывайте

coldy ★★
()
Ответ на: комментарий от coldy

Тьфу, совсем забыл, что это всё пускается не от root'а.

ТС, нужно делать sudo restart network-manager и добавлять (при помощи visudo) в sudoers себя с NOPASSWD на запуск этой команды.

AITap ★★★★★
()
Ответ на: комментарий от kernelpanic

Каждую минуту это на базе испытаний. Сам скрипт ./init.sh работает как надо проблема где то в cron ?

CyberDx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.