一定時間処理されていないタスクを判定して、mac でターミナルを開いた時にアラートを出すために書きました。
date -r <target-file-path> +"%s"
↑ファイルのUnixタイムスタンプ(エポック秒) が取得できるので、これで計算する。
#!/usr/bin/env zsh
# 前回の処理からしばらく経過していたらアラート
cd "$(dirname $0)" || exit
now=$(date "+%s")
file_timestamp=$(date -r <target-file-path> +"%s")
delta=$(($now - $file_timestamp))
threshold=$((86400 * 35))
# echo "delta = ${delta}"
# echo "threshold = ${threshold}"
if [ ${delta} -gt ${threshold} ]; then
echo "前回の処理から35日以上経過しています。"
echo "処理を行ってください"
fi