最終更新日:2023‐02-07
ずっとcronが動かないと思っていたのですが、設定の仕方を間違えていました…。
前の記事はこちらです。
cronがActiveか確認する
sudo systemctl status cron
cronを設定する
cronの設定ファイルを作成します。
まずは/etc/へ移動します。
$ cd /etc
$ ls -ltr|grep cron
drwxr-xr-x 2 root root 4096 Feb 16 2021 cron.hourly
drwxr-xr-x 2 root root 4096 Feb 16 2021 cron.weekly
drwxr-xr-x 2 root root 4096 Feb 16 2021 cron.monthly
-rw-r--r-- 1 root root 7 Feb 22 2021 cron.deny
-rw-r--r-- 1 root root 1107 Mar 9 2021 crontab
drwxr-xr-x 2 root root 4096 May 23 2021 cron.daily
drwxr-xr-x 2 root root 4096 May 1 04:46 cron.d
設定ファイルを作成します。ユーザーはrootユーザーでなくても問題ありません。
$ sudu vi ./cron.d/lets_encrypt
編集後のファイルはこのような感じです。
*/1 * * * * echo 'hello cron' >> /opt/bitnami/renew-certificate.log 2>&1
この設定で「hello cron」という文字列がログに出力されることを確認します。ちなみに先頭を「1」とだけ設定すると、毎時間の1分に起動という意味になります。(毎分にならないので注意です。勘違いして全然出力されない…と思っていました。)
cronの設定は左から、「分 時 日 月 曜日」となります。
毎月 1日の3:00に起動したい場合は以下のようになります。
$ cat ./cron.d/lets_encrypt
0 3 1 * * sudo bash /opt/bitnami/renew-certificate.sh >> /opt/bitnami/renew-certificate.log 2>&1
これで証明書の更新に手を煩わせることもなくなりました。
技術の進化についていけていないシステムエンジニア。浅く広く、何でも大体はこなせるエンジニアで重宝されてる(つもり)。でもやっぱり特化した武器欲しい。
備忘録として記事を投稿していますが、少しでも誰かの助けになればと思います。
最近はプロジェクトでReact(TypeScript )を触っています。
趣味でギター弾きます。