目次
概要
- cron で月末が指定できない
- なので date コマンドで翌日の日付を取得する
- その日付が test コマンドで翌日が 1 日か判定する
- test コマンドの結果が真ならばコマンドを実行する
設定
cron 設定
- とりあえず cron で設定する
設定例)月末の 9 時に実行する場合
# cron を編集
crontab -e
# 以下を追記
0 9 28-31 * * test $(date --date '1 day' +\%d) -eq 1 && 実行するコマンド
date コマンド
date コマンドは、指定したフォーマットの日付や時刻を表示します。
date [オプション] [フォーマット]
実行例
# 現在の日時を出力
$ date
2022年 4月 10日 日曜日 14:50:21 JST
# 翌日の日時を出力
$ date --date '1 day'
2022年 4月 11日 月曜日 14:51:11 JST
# 翌日の日付を出力
$ date --date
test コマンド
test コマンドは、条件式を評価して真偽の値を返すコマンドです。
test 条件式