システムのcrontabファイル

 システムのcrontabファイルは、ユーザーごとのcrontabファイルとは別に存在するシステムレベルのcronジョブのスケジュールを定義するテキストファイルで、/etc/crontabにあります。このファイルには「何月何日何曜日何時何分に、どういう処理を行う」という指示が記載されており、cronデーモンはこのファイルに基づいて設定された処理を実行します。システムのcrontabファイルは、管理者であるrootユーザーが管理します。また、このファイルはユーザーのcrontabファイルと異なり、crontabコマンドを使用せず、ファイルを直接エディタで編集します。

項目説明
ファイルの場所/etc/crontab
管理者rootユーザー
編集方法エディタを使用して直接編集(crontabコマンドは使用しない)
システムのcrontabファイル

システムのcrontabファイルの内容を表示

 システムのcrontabファイルの内容は、cat /etc/crontabコマンドで表示できます。また、#で始まる行はコメントアウトとして処理されます。

コマンド説明
cat /etc/crontabシステムのcrontabファイルの内容を表示
cat /etc/crontab
user01@ubuntu-vm:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

システムのcrontabファイルの項目

システムのcrontabファイルには、以下の項目が含まれます。

フィールド意味値の範囲
実行する分0-59
実行する時間0-23
実行する日1-31
実行する月1-12 または Jan-Dec
曜日実行する曜日0-7 または Sun-Sat
ユーザー実行するユーザー任意のシステムユーザー
コマンド実行するコマンド任意のコマンドやスクリプト
システムのcrontabファイルの項目

システムのcrontabファイルの定義の例

以下に、システムのcrontabファイルの簡単な定義の例とその説明を示します。

【例】毎日午前3時にrootユーザーでログローテーションスクリプトを実行する設定
0 3 * * * root /usr/sbin/logrotate /etc/logrotate.conf
項目説明
0(毎時の0分)
3(午前3時)
*(毎日)
*(毎月)
曜日*(毎週)
ユーザーroot
コマンド/usr/sbin/logrotate /etc/logrotate.conf(指定されたスクリプトを実行)
システムのcrontabファイルの定義

まとめ

 システムのcrontabファイルは、システム全体の定期的なタスクを管理するための重要なツールです。rootユーザーが直接エディタで編集し、ファイルの内容を変更することで、システム全体の定期ジョブを設定できます。これにより、システム管理者はシステムの効率的な運用を実現し、メンテナンスコストを削減することができます。

項目説明
システムのcrontabファイルシステム全体の定期的なタスクのスケジュール管理ファイル。
保存場所/etc/crontab
管理者rootユーザー
編集方法エディタを使用して直接編集。
表示方法cat /etc/crontabコマンドを使用。
書式分 時 日 月 曜日 ユーザー コマンドの形式で記述。
毎日午前3時にrootユーザーでログローテーションスクリプトを実行する設定。
まとめ

 このように、システムのcrontabファイルを活用することで、Linuxシステムにおける定期的なタスクの管理と自動化を効率的に行うことができます。