最近修正されたファイルのタイムスタンプを現在時刻と比較して差が2時間以上の場合は出力してみます。これはどのように達成できますか?
次のコマンドはファイルのタイムスタンプを表示し、現在の時刻と比較する必要があります。
root:/# aws s3 ls --endpoint=https://localhost s3://files/ | tail -n 1 | awk {'print $1 " " $2'}
2020-01-22 08:19:00
答え1
オペレーティングシステムを指定していませんが、GNUがあると仮定すると、date
日付をタイムスタンプに変換してから簡単な計算を実行して、2時間前であることを確認できます。
datetime=$(
aws s3 ls --endpoint=https://localhost s3://files/ |
awk 'END {print $1, $2}'
)
timestamp=$(date --date "$datetime" +'%s')
timeAgo=$(date --date "2 hours ago" +'%s')
if [[ $timestamp -lt $timeAgo ]]
then
echo "It's a really old file"
fi