Awstatsの使用/スケジュールに関するすべての提案は、次のようにcrontab経由であるようです:0 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
(1時間ごとに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フォルダーにエントリが作成されますか? (つまり、cron.hourlyまたはcron.dailyなど)?またはそれらは無関係ですか?それらが関連している場合、なぜ私のユーザーはcrontabエントリーを持たないのですか?
crontab -e
は、crontabを作成する従来の方法です。私はそれをぎこちなく古臭く感じますが、人々はまだそれを使用しています。
/etc/cron.hourly
、cron.daily
、cron.weekly
などの/etc/cron.d
などは、便利でパッケージマネージャーや構成管理などの自動化ツールと連携して機能するため、ほとんどのLinuxディストリビューションで提供されていますシステム。既存のcrontabを編集するスクリプトを作成するのに比べて、パッケージマネージャーがファイルを/etc/cron.hourly/foo
にドロップするのは非常に簡単です。パッケージマネージャーを使用してプログラムでファイルを編集すると、ファイルが破損したり、重複したエントリが追加されたり、間違った行が削除されたり、コメントが台無しになったりする可能性があります。この問題については、 有害と見なされるEditfiles を参照してください。しばらくの間存在しています。
Crontabコマンドを実行すると、指定したcronフォルダーにエントリが作成されますか?
いいえ。/etc/cron.daily/foo
はパッケージマネージャーによって作成されるか、手動で作成されます。 crontabコマンドを実行しても作成されません。 crontab -e
は、/var
などの/var/spool/cron/root
の下にcrontabを作成します。
私は/etc/cron.$period/foo
と/etc/cron.d
を好んでいます。なぜなら、その階層はすっきりと整理されており、構成管理システム用に簡単にスクリプト化できるからです。 /etc/crontab
はLinuxでも利用できますが、少しモノリシックで、プログラムで編集するのが困難です。 FreeBSDのようなシステムは/etc/crontab
と/etc/periodic
をサポートしています。