cron.hourlyまたはcrontabを使用する必要がありますか?


9

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エントリーを持たないのですか?

回答:


13

crontab -ecrontabを作成する従来の方法です。私はそれをぎこちなく古臭く感じますが、人々はまだそれを使用しています。

/etc/cron.hourly、を含むcron.dailycron.weekly/etc/cron.d彼らは便利であり、パッケージ管理および構成管理システムのような自動化ツールでうまく動作するためなどは、ほとんどのLinuxディストリビューションで提供されています。/etc/cron.hourly/foo既存のcrontabを編集するスクリプトを作成するのに比べて、パッケージマネージャーがファイルをドロップするのは非常に簡単です。パッケージマネージャーを使用してプログラムでファイルを編集すると、ファイルが破損したり、重複したエントリが追加されたり、間違った行が削除されたり、コメントが台無しになったりする可能性があります。

crontabコマンドを実行すると、指定したcronフォルダーにエントリが作成されますか?

いいえ/etc/cron.daily/foo。パッケージマネージャーによって作成されるか、手動で作成されます。crontabコマンドを実行しても作成されません。などののcrontab -e/varにcrontabを作成します/var/spool/cron/root

私は好む/etc/cron.$period/foo/etc/cron.dその階層がきちんとして編成されているので、それは私の構成管理システムのためのスクリプトに簡単です。/etc/crontabはLinuxでも利用できますが、少しモノリシックでプログラムで編集するのが困難です。FreeBSDサポート/etc/crontabやのようなシステム/etc/periodic


1
.dフォルダー(つまりconf.dなど)に構成ファイルをドロップするのに慣れているので、あなたの答えをありがとう、私もそれを好みます!
2014

私はこれに同意することしかできません。/etc/crontabrootのcrontabを使用するのではなく、システムタスクを実行する場合にもシステムを使用することを好みます。このように、各ユーザーのcrontabを掘り下げることなく、システムの状態を簡単に知ることができます。
2014

1
私はこの答えに同意します。/etc/cron.$period/には、ユーザーrootによって実行される自己完結型のスクリプトが含まれています。OTOH /etc/cron.d/には、crontab -e形式のインクルードファイルが含まれています。最後に、/ etc / cron *はスクリプトをルート実行することを目的としていcrontab -eますが、すべてのユーザーが使用できます。
Nils Toedtmann、2014

crontab -eこのコマンドは、デフォルトでは厄介です。スクリプト作成された私はそうcte:2つのコマンドを行い export EDITOR=gedit、その後、crontab -eそのエディタはと仕事に簡単です。
SDsolar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.