Я использую версию Ubuntu 14.04 (Trusty) и у меня проблема с моим crontab (он работал до 13.10)
Вот командная строка
/usr/lib/cgi-bin/awstats.pl -config=www.skrik.fr -update >/dev/null
Если я запускаю его как root в моем терминале, я не получаю ошибок, все работает гладко
Но если я добавлю его с помощью sudo crontab -e , я получу
0 * * * * root /usr/lib/cgi-bin/awstats.pl -config=www.skrik.fr -update >/dev/null
Ошибка при обработке /etc/awstats/awstats.cloud.skrik.fr.conf создания / обновления базы данных для конфигурации "/etc/awstats/awstats.cloud.skrik.fr.conf" в AWStats версии 7.2 (сборка 1.992) с данные в файле журнала "/var/log/apache2/cloud/access.log" ... Ошибка: не удалось открыть файл журнала сервера "/var/log/apache2/cloud/access.log": разрешение отклонено
У меня точно такая же проблема, когда я добавляю ее в / etc / crontab
Почему cron job не хочет работать от имени root?
Большое спасибо за ваш помощь
Решением
Здесь является проблема:
существует awstats установка заданий на/etc/cron.d, который выполняется с www-данными. Этот вызывает проблемные www-данные причины, не имеет доступа к/var/log/apache2
Сначала, Вы должны:
chmod o+rx /var/log/apache2
Следующий необходимо измениться на /etc/logrotate.d/apache2
create 640 root adm
В:
create 644 root adm
перезапускают сервис.
Мой/etc/crontab хорошо работал. Но я предпочитаю выполнять сценарий с не корнем accound.