定期的なデータのバックアップやスクリプトの実行など、サーバー運用で避けて通れないのが「定時処理」です。
Linux環境では、cron(クーロン)を使うことで、あなたが寝ている間もPCが正確にタスクをこなしてくれます。今回は、初心者の方でも今日から設定できるよう、cronの基本から具体的な書き方、失敗しないコツまでを分かりやすく解説します。
cronは、Unix系OSで動作する常駐プログラム(デーモン)です。あらかじめ指定したスケジュール(日時・間隔)に従って、コマンドやスクリプトを自動的に実行してくれる便利な仕組みです。
cronの設定は、crontab(クローンタブ)というコマンドを使って行います。
| コマンド | 内容 |
|---|---|
crontab -e |
編集(Edit): スケジュールを登録・編集します |
crontab -l |
表示(List): 現在登録されている設定を確認します |
crontab -r |
削除(Remove): 設定をすべて削除します |
注意:
crontab -rを誤って叩くと、すべての設定が消えてしまいます。編集の際は、指が-rに触れないよう慎重に打ち込みましょう。
crontab -e を開くと設定ファイルが表示されます。ここに1行につき1つのスケジュールを記述します。
# 分 時 日 月 曜日 実行するコマンド
* * * * * /path/to/command
各項目の指定範囲は以下の通りです。
0 4 * * * /usr/bin/bash /home/user/backup.sh
*/10 * * * * /usr/bin/php /var/www/html/task.php
0 9 * * 1-5 /path/to/script.sh
cronは、私たちが普段ログインして使う環境(PATH)とは異なる最小限の環境で動作します。「python」や「sh」とだけ書くとエラーになることが多いため、必ずフルパスで指定しましょう。
python3 script.py/usr/bin/python3 /home/user/script.py「正しく動いているか」を確認するために、エラーや出力結果をファイルに書き出す設定を推奨します。
* * * * * /path/to/script.sh >> /var/log/my-cron.log 2>&1
cronを使えば、面倒なルーチン作業はすべてPCに任せることができます。まずは簡単なテストから始めて、自動化の第一歩を踏み出してみましょう!