capt_Rimmer
@capt_Rimmer
Администратор-программист

Проблемы с wget в bash-скрипте из cron

Доброго времени суток.
Понадобилось периодически выполнять работающй до этого вручную скрипт. Поместил в файл /etc/crontab строку
0 */3 * * * root /usr/local/etc/postfix/out/fresh-maps.sh

сам скрипт fresh-maps.sh:

#!/usr/local/bin/bash
USER=login
PASSWORD=pass
DATE=`date "+_%m-%d_%H"`

if [ -s /usr/local/etc/postfix/maps_recipient ] ; then
    cd /usr/local/etc/postfix/out/
    rm -f /usr/local/etc/postfix/out/maps_recipient
    wget --quiet --user=$USER --password=$PASSWORD http://192.168.5.25/postfix/pgg/maps_recipient
    if [ -s /usr/local/etc/postfix/out/maps_recipient ] ; then
        mv /usr/local/etc/postfix/maps_recipient /usr/local/etc/postfix/old/maps_recipient$DATE
        cp /usr/local/etc/postfix/out/maps_recipient /usr/local/etc/postfix/maps_recipient
        postmap /usr/local/etc/postfix/maps_recipient
    fi
fi

Прошло время — по логам скрипт выполняется. Судя по файлам — доходит до wget и на этом останавливается.

Подскажите, что не так?
  • Вопрос задан
  • 4919 просмотров
Решения вопроса 1
capt_Rimmer
@capt_Rimmer Автор вопроса
Администратор-программист
Всем спасибо. Отладка, описанная тов. sledopit дала свои плоды. Везде заменил на полные пути и перепроверил права на файлы.

Всё работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
1. Укажите полный путь к wget
/usr/bin/wget 


2. Пропишите в кроне
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Ответ написан
Комментировать
EnterSandman
@EnterSandman
Эникей
ну если это точно вгет — скажите ему куда писать файл — видимо, он не имеет прав на запись куда-то
и еще я бы советовал вам использовать полные пути к командам как в скрипте, так и в кроне — sh /usr/local/…
а скрипт имеет права на выполнение?
Ответ написан
@rozhik
Чеклист
1. для уверенности что в путях есть wget — напишите полный путь к нему и к postmap
2. отлогируйте вывод всего
3. проверьте есть ли права записи у пользователя в соответствующие папки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы