скрипт поидее должен поднимать упавший mysql сервер, запускается в кроне, но вместо этого при каждом запуске пытается его еще раз запустить...
#!/bin/shMADMIN="$(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
Привет,При запуске из крона он наверно сам себя видит - проверьте.
WWell,
>Привет,
>
>При запуске из крона он наверно сам себя видит - проверьте.
>
>WWell,в каком смысле "сам себя"? вроде проверка на существование процесса mysql не через имя процесса, и даже не через pid идет, а через ping в mysqladmin
>MADMIN="$(which mysqladmin)"Зачем это? Вы в курсе что which ищет только в пределах $PATH? Догадываетесь как $PATH будет различаться при запуске руками и в кроне? Не извращайтесь и пропишите нормальный путь, ну или на крайняк используйте whereis
Кстати проверка на равенство нулю это -z -nz
>>MADMIN="$(which mysqladmin)"
>
>Зачем это? Вы в курсе что which ищет только в пределах $PATH?
>Догадываетесь как $PATH будет различаться при запуске руками и в кроне?
>Не извращайтесь и пропишите нормальный путь, ну или на крайняк используйте
>whereis
>Кстати проверка на равенство нулю это -z -nzспасибо... полный путь не помог, зато -nz помогло, почему, кстати? поидее это одно и то же
>Кстати проверка на равенство нулю это -z -nzПростите, что вмешиваюсь, но ни как не пойму, о каких "-z -nz" идет речь.
В баше -nz нет вообще (GNU bash, version 3.1.17(1)), а -z работает со строкой, точнее, с длиной строки.
Или спич вообще не о баше?Мне так... просто для общего развития :)