レンタルサーバーで月末にコマンドを自動実行する~Xserver編~

目次

概要

  • 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 条件式