hello-world
webエンジニアのメモ。とりあえずやってみる。

[linux]月末にcronを実行する

公開日時

月末にcronを実行したいと思いcrontabに設定を書こうとしたところ、月初のように単純には書けないことに気づきました。

月初だと以下のように「毎月1日に」と書けばいいのですが、

0 0 1 * * 実行したいコマンド

月末は30日の場合もあるし2月はうるう年も考慮する必要があります。

調べてみたことろ、testコマンドとdateコマンドを組み合わせて「28日から31日の間で翌日が1日だったら実行する」という設定を書けばいいみたいですね。

0 0 28-31 * * /usr/bin/test $(date -d '+1 day' +%d) -eq 1 && 実行したいコマンド

勉強になりました。

参考


Related #cron

秒速でcronを実行する方法

cronは最短で毎分実行ですが秒間隔で実行するにはどうすればいいか気になったので調べてみました。

wheneverの設定をcronに反映するコマンドメモ

Rubyでcronのバッチを作成したい場合に whenever をよく使うのですが、cron反映コマンドを毎回忘れて調べているので書き留めておきます。

cronでrbenvのrubyを実行する

cronのバッチ経由でrubyスクリプトを実行しようとしたところ、rbenvでインストールしたrubyだったためうまくバッチが実行できない現象に遭遇しました。

[apache]cronで指定時刻になったら.htaccessのbasic認証を解除する

cronを使って指定時間になったらbasic認証を解除したいと思い調べてやってみました。