/etc/cron.d でシステムの cron ジョブを確認する
前のステップでは、特定のユーザーの cron ジョブを表示する方法を学びました。次に、システム全体の cron ジョブを調べてみましょう。
システム全体の cron ジョブは通常、/etc/cron.d/
ディレクトリに保存されています。crontab
コマンドで管理されるユーザーの crontab とは異なり、システム全体の cron ジョブはこのディレクトリ内の個々のファイルで定義されます。
これらのファイルは、多くの場合、インストールされたソフトウェアパッケージによって作成され、システム全体で実行する必要があるタスク(システムの更新、ログのローテーション、クリーンアップスクリプトなど)をスケジュールするために使用されます。
/etc/cron.d/
ディレクトリ内のファイルを表示するには、ls
コマンドを使用できます。このディレクトリは root ユーザーが所有しているため、その内容をリストするには sudo
を使用する必要があります。
ターミナルに次のコマンドを入力し、Enter キーを押します。
sudo ls /etc/cron.d/
次のように、様々なファイルがリストされる出力が表示されることがあります。
anacron e2scrub_all phpsessionclean
表示される具体的なファイルは、システムにインストールされているソフトウェアによって異なります。このディレクトリ内の各ファイルは、システム全体の cron ジョブの設定を表しています。
これらのファイルの 1 つ、たとえば phpsessionclean
の内容を表示するには、cat
コマンドを使用できます。再び、このファイルは root が所有しているため、sudo
が必要です。
次のコマンドを入力し、Enter キーを押します。
sudo cat /etc/cron.d/phpsessionclean
phpsessionclean
スクリプトがいつ、どのように実行されるかを定義するファイルの内容が表示されます。形式はユーザーの crontab に似ていますが、コマンドを実行するユーザーを指定するユーザーフィールドも含まれています(多くの場合 root
)。
## This file is installed by the php-common package
#
## The script will clean up old session files.
#
## See /usr/lib/php/sessionclean for details.
09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi
この出力から、phpsessionclean
スクリプトは毎日の毎時 09 分と 39 分にスケジュールされ、root
ユーザーによって実行されることがわかります。
/etc/cron.d/
内のファイルを調べることで、システムレベルで実行されている自動化タスクを理解するのに役立ちます。
続ける をクリックして次のステップに進みます。