Кажется, что все предложения для использования/планирования 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
Только для сообщения мой awstats обновляется прекрасный, он создает свои отчеты, и все хорошо.
Выполнение команды crontab создают запись в указанной папке крона? (т.е. cron.hourly или cron.daily, и т.д.)? Или действительно ли они не связаны? Если они связаны, почему мой пользователь без crontab записи?
crontab -e
- традиционный способ создания crontab. Я считаю его неудобным и старомодным, но люди все еще его используют.
/etc/cron.hourly
, включая cron.daily
, cron.weekly
& /etc/cron.d
и т. Д. Предоставляются большинством дистрибутивов Linux, потому что они удобны и хорошо работают с инструментами автоматизации, такими как менеджеры пакетов и системы управления конфигурациями. Диспетчеру пакетов очень легко поместить файл в /etc/cron.hourly/foo
по сравнению с написанием сценария для редактирования существующего crontab. Программное редактирование файла с помощью диспетчера пакетов может привести к повреждению файла, добавлению повторяющихся записей, удалению неправильной строки, ошибкам в комментариях и т.д. while.
Создает ли запуск команды crontab запись в указанной папке cron?
Нет. /etc/cron.daily/foo
создается менеджером пакетов или вручную. Он не создается при запуске команды crontab. crontab -e
создаст crontab под / var
, например / var / spool / cron / root
.
Я предпочитаю / и т. Д. /cron.$period/foo
и /etc/cron.d
, потому что эта иерархия аккуратная и организованная, и ее легко написать сценарий для моей системы управления конфигурацией. / etc / crontab
также доступен в Linux, но он немного монолитен и его сложно редактировать программно. Такие системы, как FreeBSD, поддерживают / etc / crontab
и / etc / periodical
.