cron -u: not found

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

cron -u: not found

Непрочитанное сообщение tom.cat » 2014-01-31 8:18:24

Всем привет.
На рутовую почту пришло сие сообщение от выполнения скрипта по бэкапу бд мускула.
/root/backup-mysql.sh: -u: not found
tar: Removing leading '/' from member names
Сам скрипт:

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

#!/bin/sh
MUSER="dbuser"
MPASS="dbpassword"
MHOST="localhost"
TAR="$(which tar)"
GZIP="$(which gzip)"
FTP="$(which ftp)"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
DEST="/root/dbbackup"
MBD="$DEST"
HOST="$(hostname)"
NOW="$(date +"%Y%m%d")"
# DO NOT BACKUP these databases, delemiter SPACE
IGN="information_schema mysql performance_schema"
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do

    skipdb=-1
    if [ "$IGN" != "" ]; then
        for i in $IGN
        do
            [ "$db" == "$i" ] && skipdb=1 || :
        done
    fi

    if [ "$skipdb" == "-1" ] ; then
        MBD="$DEST/$db"
        [ ! -d $MBD ] && mkdir -p $MBD || :
        FILE="$MBD/$NOW.tar.gz"
            $MYSQLDUMP --opt -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
        FNUM="$(find $MBD/* | wc -l)"
        if [ $FNUM -ge 0 ] ; then
            find $MBD/* -type f -mtime 20 -exec rm -rf {} \;
        fi
    fi

done
$TAR -cJf - $DEST | xz -9 -c - > backup-$NOW.tar.xz
END_SCRIPT
Проверял скрипт вручную, все делается без ошибок
When you see pigs fly it means Windows has become open source

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: cron -u: not found

Непрочитанное сообщение Bayerische » 2014-01-31 8:42:16

Вручную от того же юзера?
ENV для скрипта такой же, как в консоли?
Пути ко всем исполняемым файлам полные пропишите.

Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

Re: cron -u: not found

Непрочитанное сообщение tom.cat » 2014-02-02 14:02:04

Вручную от того же юзера?
Да, все проходит нормально. Правда shell у root'а - csh
ENV для скрипта такой же, как в консоли?
Вроде да.
Пути ко всем исполняемым файлам полные пропишите.
Указаны в скрипте. Или оболочка sh не понимает команду which?
When you see pigs fly it means Windows has become open source

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: cron -u: not found

Непрочитанное сообщение rayder » 2014-02-03 16:31:01

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

/root/backup-mysql.sh: -u: not found
говорит о том что скриптик-то у вас не знает что такое $MYSQL,
и соот-но это

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

BS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
выглядит как:

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

 shell# -u бла бла бла
если уж "учите" скриптик самому находить пути, то вставляйте и проверки на тему нашел/нет.

+используйте ${MYSQL} вместо $MYSQL, в будущем оградит от ряда проблем.
Указаны в скрипте. Или оболочка sh не понимает команду which?
which ищет в $PATH, след-но mysql он там не нашел.
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

Re: cron -u: not found

Непрочитанное сообщение tom.cat » 2014-02-04 11:53:20

Исправил на полные пути и заработало таки. Благодарю за помощь!
When you see pigs fly it means Windows has become open source