シェルスクリプトで、ファイルが判定日時より古かったらなにかをする

シェルスクリプト(Bash/Zsh)
2022-05-28 16:29 (2年前) ytyng
View in English

一定時間処理されていないタスクを判定して、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
現在未評価
タイトルとURLをコピー

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011