Cron. Скрипт выполняется лишь частично.
Дано: Сделал скрипт для вебсервера. Пакует сайты и дамб БД в архивы со всеми красявостями для бэкапа. Потом выполняется цикл for, который юзает скрипт дропбокса с их оф сайта. В моем скрипте он зашвыривает все архивы на дропбокс. Этот скрипт обращается к файлу с конфигом. Либо создает его, если не находит. Конфиг уже создан после ручного прогона. Плюс в моей части скрипта несколько раз создаются файлы для хранения списков имен.
Проблема: Скрипт полностю работает при ручном запуске. В кроне работает ровно до процедуры заброса на дропбокс. Отчет на мыло не приходит. В скриптах все пути абсолютны. Всё - файлы, скрипты, крон и кронтаб рутовые (покачто:) ). Вебсервер на фряхе.
Вопрос: Посоветуйте в какую сторону копать, это фактически первый опыт работы со скриптиками шелла. Может быть так, что скрип режется по каким-то неявным таймаутам и ограничениям памяти для крона? как вообще отлаживать скрипты?:)
Какие настройки сервера могут косвенно ограничить скрипт крона? Используются циклы, создание-чтение файлов, авторизация с ключами, бэкап весит 50+ метров..
похоже могут быть проблемы с совместимостью у скрипта, который забрасывает файлы на дропбокс.
http:// www. andreafabrizi. it/?dropbox_uploader - взят отсюда.
В комментах была жалоба на фряховый крон. Но еще не уверен.
Пытаюсь сделать отладку, стопорится блоке с характерным названием) )
if [ -z "$CURL_BIN" ]; then
BIN_DEPS="$BIN_DEPS curl"
CURL_BIN="curl"
fi
#строка 144
#DEPENDENCIES CHECK
for i in $BIN_DEPS; do
which $i > /dev/null
if [ $? -ne 0 ]; then
echo -e "Error: Required program could not be found: $i"
remove_temp_files
exit 1
fi
done
Естественно, этот мессадж я не видел через крон. Надеюсь кто-нибудь сюда зайдет и поможет нормально прочесть что именно проверяет эта часть скрипта, пока кроме как это как-то связано с CURL vмне неясно
Проблема была в некорректном PATH в кроне. Всем спасибо, я баран