Кажется, что все предложения по использованию / планированию awstats сделаны через crontab, как таковые: 0 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
(запускает awstats ежечасно).
Однако, если я проверю crontab -l
, он говорит, что crontab пуст для моего пользователя.
Однако когда я проверяю /etc/cron.hourly
, У меня есть файл awstats со следующим:
#!/bin/bash
exec /usr/share/awstats/tools/awstats_updateall.pl now -configdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null
exit 0
Просто чтобы вы знали, моя статистика обновляется нормально, она создает отчеты, и все в порядке.
Создает ли запуск команды crontab запись в указанной папке cron? (т.е. cron.hourly или cron.daily и т. д.)? Или они не связаны? Если они связаны, почему у моего пользователя нет записи в crontab?
crontab -e
это традиционный способ создания файла crontab. Мне это кажется неудобным и старомодным, но люди все еще используют его.
/etc/cron.hourly
, включая cron.daily
, cron.weekly
& /etc/cron.d
и т. д. предоставляются большинством дистрибутивов Linux, потому что они удобны и хорошо работают с инструментами автоматизации, такими как менеджеры пакетов и системы управления конфигурацией. Диспетчеру пакетов очень легко перетащить файл в /etc/cron.hourly/foo
по сравнению со сценарием редактирования существующего crontab. Программное редактирование файла с помощью диспетчера пакетов может привести к повреждению файла, добавлению повторяющихся записей, удалению неправильной строки, искажению комментариев и т. Д. Файлы редактирования считаются вредоносными для некоторого обсуждения, так как эта проблема существует некоторое время.
Создает ли запуск команды crontab запись в указанной папке cron?
Нет. /etc/cron.daily/foo
создается менеджером пакетов или создается вручную. Он не создается при запуске команды crontab. crontab -e
создаст crontab под /var
, Такие как /var/spool/cron/root
.
я предпочитаю /etc/cron.$period/foo
и /etc/cron.d
потому что эта иерархия аккуратная и организованная, и ее легко написать сценарий для моей системы управления конфигурацией. /etc/crontab
также доступен в Linux, но он немного монолитен и его сложно редактировать программно. Такие системы, как поддержка FreeBSD /etc/crontab
и /etc/periodic
.