Страница 1 из 1

Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-28 18:16:25
invint
Всем привет

Есть скрипт для бекапа mysql баз, написан на sh

Код: Выделить всё

#!/bin/sh

USER="user"
PASS="pass"
HOST="localhost"

MYSQL="$(which mysql)"
...
DBS="$($MYSQL -u $USER -h $HOST -p$PASS -Bse 'show databases')"
...
Если запускаю скрипт руками, то бекап проходит успешно, если запускать по крону, ничего не происходит, в логах ругается на строку DBS="$($MYSQL -u $USER -h $HOST -p$PASS -Bse 'show databases')" - "-u: not found"

В чем различия запуска в ручную и из крона?

p.s.:

Код: Выделить всё

# uname -a
FreeBSD srv3.host.ru 7.3-RELEASE FreeBSD 7.3-RELEASE #0: Sun Mar 21 06:15:01 UTC 2010     root@walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-28 18:23:27
damir_madaga
В путях! Пиши полные пути!

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-28 18:39:04
invint
damir_madaga писал(а):В путях! Пиши полные пути!
А разве which mysql из под крона не срабатывает?

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-28 19:01:49
invint
Прописал полные пути!
Помогло, спасибо!

Но почему же не срабатывает "which" и какие еще есть отличия при запуске из крона?

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-29 5:06:18
FiL
invint писал(а):Прописал полные пути!
Помогло, спасибо!

Но почему же не срабатывает "which" и какие еще есть отличия при запуске из крона?
потому, что which ищет только в PATH. А если PATH не установлен, то...

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-29 7:59:32
Гость
damir_madaga писал(а):В путях! Пиши полные пути!
а не проще определить PATH? Иногда лучше включить мозг, полные пути тебя не спасут от вызова system(3).

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-29 11:05:31
damir_madaga
Гость писал(а):
damir_madaga писал(а):В путях! Пиши полные пути!
а не проще определить PATH? Иногда лучше включить мозг, полные пути тебя не спасут от вызова system(3).
Я помоему совершенно правильно указал на ошибку, а то как ее исправить деле топикстартера!

Re: Разница в запуске sh скрипта по крону и в ручную

Добавлено: 2010-07-29 12:15:35
Burner
да, меня всегда радует, когда в скриптах вижу что-то типа "SED=`which sed`". Совсем голову не включают.