cronについての備忘録

公開日:

目次

あけましておめでとうございます? 年末にcronの実装を初めてやったのでその備忘録をブログに残したいと思います。

cron とは

IT用語辞典 によると、以下のように説明されています。

cronとは、多くのUNIX系OSで標準的に利用される常駐プログラム(デーモン)の一種で、利用者の設定したスケジュールに従って指定されたプログラムを定期的に起動してくれるもの。

引用のとおりなのですが、設定したスケジュールでプログラムを実行してくれる仕組みが cron です。今回自分が使用した用途としては、特定のphpプログラムを定期的に実行したいという意図で使用しましたが、他にも、Webサイトの定期的なバックアップや、定期的なキャッシュクリアに使用すると便利です。

cron の書き方

cron はサーバーにsshなどで接続してコマンドから設定できる他、主要なレンタルサーバーであればコントロールパネルから設定できます。ただ、XSERVERではコマンドで設定した cron はコントロールパネルから削除したり、スケジュール設定を変更したりすることができませんでした。(XSERVER でしか試していないのでわかりませんが…)

cron が使用可能かどうか調べる

まず、cronがサーバーで使用できるかどうか調べるために、活躍するコマンドを紹介します。

$ service crond status

上記のコマンドを実行することでそのサーバーで cron が使用可能な状態になっているか確認できます。もしも、起動していない場合は ↓ のコマンドで cron を起動させることで、cron が使用可能な状態になります。

$ service crond start

cron の登録

次に cron の登録です。ここからの設定はXSERVER などのレンタルサーバーであればコントロールパネルから設定することもできます。

$ crontab -e

cron の登録は ↑ のコマンドでできます。

例えば、以下のように記述することで毎日日付が変わる瞬間に cron.php を実行することができます。

0 0 * * * php /path/to/cron.php

0 0 * * * といったところのスケジュール設定の書式は調べると色々あります。

cron の確認

以下のコマンドで現在設定されているcron設定を一覧で確認することができます。

$ crontab -l

cron の削除

以下のコマンドで現在設定されているcron設定を削除することができます。cronが複数設定されている場合は、すべて削除するため、1部だけ削除したいという場合は、crontab -e で設定ファイルを開いて、削除したい設定の行だけ削除するようにしましょう。

$ crontab -r

まとめ

今回はcronの使い方についてまとめてみました。cron は初めて使用したので、設定方法を理解するのに少し時間がかかりましたが、慣れてしまえばとても便利でした。