第2木曜日の前日は第2水曜日じゃない

Windowsのタスクスケジュールでバッチ処理を設定しているサーバーがあった。

その起動ルールとして第2木曜日再起動とその間に定期メンテナンスをすると言う月一のルールがあった。

そこで、タスクスケジュールで第2木曜日に再起動の処理を入れていたわけだが、再起動の前に締め処理を実施する必要があった。

一般的には再起動処理の前にそう言った細々とした処理を入れた後で一括りに処理すれば良いのだが、時間差を開けたかったために、前日に締め処理をして再起動に備えるバッチと言う物を走らせていた。

その起動トリガーが単純に第2木曜日に処理が入るので前日の第2水曜日に設定していたのだ。

これがそもそもの間違いで、丁度先月の8月は木曜日始まりの月でその場合、第2木曜日の前日は第1水曜日になると言うことに気がつかなかったのだ。

何気なしに第2木曜日の前日が第2水曜日だなんていう思い込みがやらかした失敗なんだが、年に数回、木曜日始まりの月は不定期で実在するのだが、上手いこと過去は手動で実施していて、事なきを得ていたわけで。数年経ってシステムも安定して自動処理にするのに先月そのまま放置した為に、この落とし穴にずっぽり填まってしまった。

考えが浅いとなかなか気がつかないもので、正解は7~13日の水曜日が第2木曜日の前日になり得るトリガーだったわけで7日は第1水曜日、8~13日が第2水曜日となるわけだ

思い込みがやらかした大失敗でなかなか気がつかないもんだなぁ...