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