プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/etc/crontab」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/etc/crontab」。

crontabってことはcrontabじゃないの?と思うけど、一応調べておきましょうかね。

ふむふむ(--)

うん、crontabだった。

crondさんのための設定ファイルですね。
中身は例えば

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=hoge
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

のようになっています。
各項目はそれぞれ

SHELL:何のシェルで実行すんのよ?
PATH:パスの定義。Windows環境変数のPATHと一緒
MAILTO:実行結果のメール送信先
HOME:指定されたタスク実行時のカレントディレクトリ

ですね。

下の方の「# run-parts」の部分は「何をいつ実行すれば良いのさ?」です。
例えば

01 * * * * root run-parts /etc/cron.hourly

は毎時1分にrootユーザで「/etc/cron.hourly」の中身を実行しろや!の指示です。
「/etc/cron.hourly」に実行用のファイルが入っていて、そいつらが名前順に実行されますよ。

書式は「crontab -e」で設定するときと同じで

分 時 日 月 曜日 ユーザ 実行するコマンド

です。

ちなみにcrondさんは1分おきに/etc/crontabを再読み込みしているそうで、
変更した場合もcrondさんの再起動は不要みたいです。

あれ?「crontab -e」で設定した内容が書いてないんだけど?と心配になった方、ご安心ください。
ユーザが「crontab -e」で設定した内容は

/var/spool/cron/ユーザ名

に書かれてあります。
これは「/etc/crontab」を編集できるのがrootユーザさんだけだからです。
例えば

ls -l /etc/crontab

を実行すると

-rw-r--r-- 1 root root 455 Jan 15 2013 /etc/crontab

のような結果になります。
編集できるのはrootユーザさんだけですね。

まとめると「/etc/crontab」はcrondさん用の設定ファイルです。
定期実行させたい内容などを記述します。
ただし「crontab -e」で設定した内容は「/etc/crontab」ではなく
「/var/spool/cron/ユーザ名」に記述されます。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事