cronとは

くろん

Linuxなどで、決めた日時や周期でコマンドを自動で実行するしくみ(およびそのデーモン)。crontab -e で編集する設定の各行は、「分 時 日 月 曜日 コマンド」の形で書き、「30 2 * * 1 コマンド」は毎週月曜日の2時30分を表す(曜日は0が日曜日で、多くの実装では7も日曜日)。* はすべて、*/5 は5ごと、1-5 は範囲を表す。cron から実行されるコマンドは、ログインしたときより限られた環境変数で動くので、パスの指定や出力の記録に注意が必要である。systemd を使うシステムでは、systemd のタイマーで同じことを行うこともできる。

「cron」は、1分野の1問の練習問題に出てきます(Linuxとコマンドラインの基礎など)。

この用語の分野: Linuxとコマンドラインの基礎

cronの練習問題に挑戦

cron に「30 2 * * 1 /home/alice/backup.sh」と登録した。backup.sh が実行されるタイミングとして、正しいものはどれか。

  1. A毎月1日の2時30分
  2. B毎週月曜日の2時30分
  3. C毎週日曜日の2時30分
答えと解説を見る

正解:B. 毎週月曜日の2時30分

cron の設定(crontab)の各行は、先頭の5つの欄が左から「分、時、日、月、曜日」で、その後に実行するコマンドを書きます。この行は分が30、時が2、日と月が *(すべて)、曜日が1なので、毎週月曜日の2時30分に実行されます。曜日は0が日曜日、1が月曜日で、多くの実装では7も日曜日を表します。cron から実行するコマンドは、ログインしたときとは違う、限られた環境変数で動くので、スクリプトの中ではコマンドを絶対パスで書くなどの注意が必要です。

解説の中の「cron」

「cron」が出てくる問題(1問)

  1. cron に「30 2 * * 1 /home/alice/backup.sh」と登録した。backup.sh が実行されるタイミングとして、正しいものはどれか。

Linuxとコマンドラインの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

環境変数 inode SSH Git grep シェル シグナル(Unix) シンボリックリンク スーパーユーザ 正規表現

用語集の一覧へ