/etc/cron.* の cron スケジュールを調べる
メインの /etc/crontab
ファイルに加えて、多くの Linux ディストリビューションでは、/etc/cron.d/
、/etc/cron.hourly/
、/etc/cron.daily/
、/etc/cron.weekly/
、/etc/cron.monthly/
などのディレクトリを使用して、システム全体の cron ジョブを整理しています。
これらのディレクトリは、スケジュールされたタスクをより構造化された方法で管理する手段を提供します。/etc/cron.hourly/
に配置されたスクリプトは毎時実行され、/etc/cron.daily/
に配置されたスクリプトは毎日実行されるなど、それぞれのディレクトリに応じた実行間隔が設定されています。正確な実行タイミングは通常、/etc/crontab
内のスクリプトによって制御され、このスクリプトが定期的にこれらのディレクトリ内のスクリプトを実行します。
これらのディレクトリの内容を調べて、どのようなシステムタスクがスケジュールされているかを確認しましょう。
まず、/etc/cron.d/
ディレクトリの内容を一覧表示します。このディレクトリには、インストールされたパッケージによって配置された、特定の cron ジョブを定義するファイルが含まれていることが多いです。
以下のコマンドを入力し、Enter キーを押してください。
ls /etc/cron.d/
ディレクトリ内のファイルが一覧表示され、次のような出力が表示されるかもしれません。
anacron e2scrub_all phpsessionclean
これらのファイルには、/etc/crontab
と同様の形式(ユーザーフィールドを含む)で cron ジョブの定義が含まれています。cat
を使用して、これらのファイルの内容を表示することができます。たとえば、anacron
ファイルの内容を表示するには、次のコマンドを実行します。
cat /etc/cron.d/anacron
次に、毎時、毎日、毎週、毎月実行されるジョブのディレクトリを見てみましょう。ls
を使用してこれらのディレクトリの内容を一覧表示できます。
以下のコマンドを順番に入力し、それぞれのコマンドを入力した後に Enter キーを押してください。
ls /etc/cron.hourly/
ls /etc/cron.daily/
ls /etc/cron.weekly/
ls /etc/cron.monthly/
これらのディレクトリには、様々なスクリプトやファイルが一覧表示されるかもしれません。たとえば、/etc/cron.daily/
には、パッケージリストの更新、一時ファイルのクリーニング、またはログのローテーションなどのタスク用のスクリプトが含まれていることが多いです。
ls /etc/cron.daily/
apt-compat dpkg google-chrome man-db mlocate passwd update-notifier-common
これらのスクリプトは、cron システムによって指定された間隔(毎時、毎日、毎週、毎月)で自動的に実行されます。
/etc/crontab
内のファイルと /etc/cron.*
配下のディレクトリを調べることで、システム上で実行されている自動タスクの包括的な概要を把握することができます。これは、システム管理とトラブルシューティングにおいて重要です。
これで、ユーザーおよびシステム全体の cron ジョブを表示する主要な場所を調べました。
Continue をクリックして、この実験を完了してください。