hene

hene.dev

cron を設定して、定期実行

cron を設定して、定期実行

cron, crontab とは

  • cron: スクリプトを自動実行・定期実行する機能
  • crontab: cron を設定するコマンド・ファイルのこと

cron

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。

cron の設定ガイド

cron, crontab の違い

「cron」は機能を示す名称で、一方「crontab」はコマンド名またはファイル名です

【入門】cron(クロン)設定・書き方の基本 - カゴヤのサーバー研究室

crontab の書き方

毎月1日の 09:30 に、$ echo 'test' を実行したい場合。

crontab

30 9 1 * * echo 'test'

cron 反映方法

下記のように変更する場合の流れ。

crontab_directory/crontab

- 15 8 1 * * echo 'hogehoge'
+ 30 9 1 * * echo 'test'

自分の環境では、下記の流れで設定。

  • crontab_directory に作成した crontab のファイルをローカルで編集
  • プルリクエストを作成
  • cron を設定したいサーバーで、下記を実行
# 設定したいユーザー(user_name)に切り替え + 切り替えたユーザのホームディレクトリへ移動
$ sudo su - user_name

# ブランチを切り替え
$ git fetch
$ git checkout branch_name

# crontab のあるディレクトリに移動
$ cd crontab_directory

# 反映する crontab を確認
$ cat crontab
30 9 1 * * echo 'test'

# 現在設定している crontab を確認
$ crontab -l
15 8 1 * * echo 'hogehoge'

# 反映
$ crontab -u user_name crontab

# 反映した crontab を確認
$ crontab -l
30 9 1 * * echo 'test'

参考