URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7050
[ Назад ]

Исходное сообщение
"Shell скрипт не пашет"

Отправлено igdrasil , 19-Дек-07 18:51 
скрипт поидее должен поднимать упавший mysql сервер, запускается в кроне, но вместо этого при каждом запуске пытается его еще раз запустить...
#!/bin/sh

MADMIN="$(which mysqladmin)"

MSTART="/usr/local/etc/rc.d/mysql-server start"

$MADMIN --defaults-file=/etc/my.cnf ping -u123 -p123 2>/dev/null 1>/dev/null

if [ $? -ne 0 ]; then
$MSTART>/dev/null
fi

если перед if вставить "echo $?" печатает 0, как и должен, но крон все равно при каждом запуске отправляет по почте "mysql already running?"... FreeBSD 6.2

скрипт есть еще и тут: http://pastebin.ca/823730


Содержание

Сообщения в этом обсуждении
"Shell скрипт не пашет"
Отправлено Асен Тотин , 19-Дек-07 19:51 
Привет,

При запуске из крона он наверно сам себя видит - проверьте.

WWell,


"Shell скрипт не пашет"
Отправлено igdrasil , 19-Дек-07 21:20 
>Привет,
>
>При запуске из крона он наверно сам себя видит - проверьте.
>
>WWell,

в каком смысле "сам себя"? вроде проверка на существование процесса mysql не через имя процесса, и даже не через pid идет, а через ping в mysqladmin


"Shell скрипт не пашет"
Отправлено angra , 19-Дек-07 22:12 
>MADMIN="$(which mysqladmin)"

Зачем это? Вы в курсе что which ищет только в пределах $PATH? Догадываетесь как $PATH будет различаться при запуске руками и в кроне? Не извращайтесь и пропишите нормальный путь, ну или на крайняк используйте whereis
Кстати проверка на равенство нулю это -z -nz


"Shell скрипт не пашет"
Отправлено igdrasil , 20-Дек-07 20:04 
>>MADMIN="$(which mysqladmin)"
>
>Зачем это? Вы в курсе что which ищет только в пределах $PATH?
>Догадываетесь как $PATH будет различаться при запуске руками и в кроне?
>Не извращайтесь и пропишите нормальный путь, ну или на крайняк используйте
>whereis
>Кстати проверка на равенство нулю это -z -nz

спасибо... полный путь не помог, зато -nz помогло, почему, кстати? поидее это одно и то же



"Shell скрипт не пашет"
Отправлено madskull , 24-Дек-07 22:17 
>Кстати проверка на равенство нулю это -z -nz

Простите, что вмешиваюсь, но ни как не пойму, о каких "-z -nz" идет речь.

В баше -nz нет вообще (GNU bash, version 3.1.17(1)), а -z работает со строкой, точнее, с длиной строки.
Или спич вообще не о баше?

Мне так... просто для общего развития :)