타임스탬프 비교

타임스탬프 비교

가장 최근에 수정된 파일의 타임스탬프를 현재 시간과 비교해서 차이가 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

관련 정보