Не выполняется "apachectl graceful" в cron
Добавлено: 2009-11-08 12:05:55
Здравствуйте! Приведенный ниже скрипт отлично отрабатывается если его запустить из bash, но если запускать по cron, то apache, по команде "apachectl graceful", не пересоздает логи. Почему так может быть?
Код: Выделить всё
#!/usr/local/bin/bash
#количество дней которые хранится архив логов
a=30
#очистка старых логов
for ((i=a; i<50; i++))
do
rm -rf /var/log/www/old/site/access.log.`date -v -"$i"d +%d.%m.%y`.gz
done
#перемещение текущих логов в папку для старых
mv /var/log/www/site-access_log /var/log/www/old/site/access.log.`date +%d.%m.%y`
mv /var/log/www/site-error_log /var/log/www/old/site/error.log.`date +%d.%m.%y`
sleep 10
#рестарт Apache во время которого он создает новые логи
apachectl graceful
sleep 100
#архивация старых логов
gzip /var/log/www/old/site/error.log.`date +%d.%m.%y` /var/log/www/old/site/access.log.`date +%d.%m.%y`
#отправка уведомления на почту
echo "`date` Логи Apache успешно отротейтились" | mail -s "Apache Logrotate `date +%d.%m.%y`" webmaster@site.ru