cronとは
OSに入っているプログラムの一つで、その時間になったらプログラムを動かしてくれる。
cronは実行する期間ごとに起動するファイルが異なる
参考:https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
cron.d
五分ごとに docker-compose build
を実行したかったので/etc/cron.dの配下にファイルをつくりました。
順序
- sshでサーバーに接続
-
cd /etc/cron.d
でcron.dのディレクトリに移動 -
touch hoge
ファイルの作成 (cornのファイルは拡張子が必要ない) - ファイルを編集
/etc/cron.d/hoge
*/5 * * * * root 'cd /root/プロジェクト名 && /usr/local/bin/docker-compose build プロジェクト'
ファイルの編集について
cronの時間の設定は特殊な書き方をするので、以下を参考にした。
参考:https://crontab.guru/every-5-minutes
docker-compose buildを実行したいプロジェクトまで移動する必要があるので cd
で移動する。
その後、docker-composeが置かれている絶対パスを指定してあげる。絶対パスはwhichコマンドで確認できる。
logの確認
五分ごとに実行されているか確認する必要がある。
OSによってlogの出力先は違うようだが、Ubuntuはsyslog
vim /var/log/syslog
これで5分ごとに実行されていれば、実行コマンドを確認することができる。