LINUX.ORG.RU

Bash - Сравнение времени

 ,


0

1

Всем привет.

Есть необходимость сравнить время последнего редактирования файла с текущем временем ос, как можно это реализовать? Т.е допустим, нам нужно проверять как часто заполняется файл информацией и в случае если он какой-то период времени не редактировался(допустим неделю), то что бы при выполнении скрипта нам пришло извещение об этом.

Ну сравнивай, допустим, unix timestamp от дат.

[root@x]# date +"%s"
1492519850
[root@x]# date +"%s" -d "week ago"
1491915052
[root@x]# date +"%s" -d "3 weeks ago"
1490705455
[root@x]# date +"%s" -d "29 Feb 2004 14:13:01"
1078053181

melkor217 ★★★★★
()

какой-то период времени не редактировался(допустим неделю),

find ./file.txt -mtime +7 | mail -Es "file was not changed for week" legolegs@localhost
legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)

atime - время доступа к файлу. Открываешь, grep'аешь и т.д. - значение этого параметра меняется.
mtime - время модификации файла. Изменил и сохранил - значение новое.
ctime - время изменения файла. Меняешь владельца, права и т.д. - значение новое.

Всё это можешь как угодно комбинировать с тем же find. Выше написали пример.

Gintoki
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.