システムのcrontabファイル
システムのcrontabファイルは、ユーザーごとのcrontabファイルとは別に存在するシステムレベルのcronジョブのスケジュールを定義するテキストファイルで、/etc/crontab
にあります。このファイルには「何月何日何曜日何時何分に、どういう処理を行う」という指示が記載されており、cronデーモンはこのファイルに基づいて設定された処理を実行します。システムのcrontabファイルは、管理者であるrootユーザーが管理します。また、このファイルはユーザーのcrontabファイルと異なり、crontab
コマンドを使用せず、ファイルを直接エディタで編集します。
項目 | 説明 |
---|---|
ファイルの場所 | /etc/crontab |
管理者 | rootユーザー |
編集方法 | エディタを使用して直接編集(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ファイルの簡単な定義の例とその説明を示します。
【例】毎日午前3時にrootユーザーでログローテーションスクリプトを実行する設定
0 3 * * * root /usr/sbin/logrotate /etc/logrotate.conf
項目 | 説明 |
---|---|
分 | 0(毎時の0分) |
時 | 3(午前3時) |
日 | *(毎日) |
月 | *(毎月) |
曜日 | *(毎週) |
ユーザー | root |
コマンド | /usr/sbin/logrotate /etc/logrotate.conf (指定されたスクリプトを実行) |
まとめ
システムのcrontabファイルは、システム全体の定期的なタスクを管理するための重要なツールです。rootユーザーが直接エディタで編集し、ファイルの内容を変更することで、システム全体の定期ジョブを設定できます。これにより、システム管理者はシステムの効率的な運用を実現し、メンテナンスコストを削減することができます。
項目 | 説明 |
---|---|
システムのcrontabファイル | システム全体の定期的なタスクのスケジュール管理ファイル。 |
保存場所 | /etc/crontab |
管理者 | rootユーザー |
編集方法 | エディタを使用して直接編集。 |
表示方法 | cat /etc/crontab コマンドを使用。 |
書式 | 分 時 日 月 曜日 ユーザー コマンド の形式で記述。 |
例 | 毎日午前3時にrootユーザーでログローテーションスクリプトを実行する設定。 |
このように、システムのcrontabファイルを活用することで、Linuxシステムにおける定期的なタスクの管理と自動化を効率的に行うことができます。