Узнайте, был ли файл изменен за последние 2 минуты
В bash script Я хочу проверить, был ли файл изменен за последние 2 минуты.
Я уже выяснил, что я могу получить доступ к дате последней модификации с помощью stat file.ext -c %y. Как проверить, является ли эта дата старше двух минут?
Ответ 1
Я думаю, что это было бы полезно,
find . -mmin -2 -type f -print
и
find / -fstype local -mmin -2
Ответ 2
Завершите script, чтобы выполнить то, что вам нужно:
#!/bin/sh
# Input file
FILE=/tmp/test.txt
# How many seconds before file is deemed "older"
OLDTIME=120
# Get current and file times
CURTIME=$(date +%s)
FILETIME=$(stat $FILE -c %Y)
TIMEDIFF=$(expr $CURTIME - $FILETIME)
# Check if file older
if [ $TIMEDIFF -gt $OLDTIME ]; then
echo "File is older, do stuff here"
fi
Ответ 3
Я решил проблему таким образом: получить текущую дату и последнюю измененную дату файла (как в формате временной метки unix). Вычтите измененную дату с текущей даты и разделите результат на 60 (чтобы преобразовать ее в минуты).