Как принудительно обновлять файл, если оставить его без изменений через 55 минут?

Мне нужно, чтобы файл журнала обновлялся, если он остался неизменным в течение 55 минут. Например, скажем, что сейчас 19:00, а IOstatDisk2.log не изменился с 18:00:

  solaris1a:/var/tmp ROOT # ls -ltr IOstatDisk2.log -rw-r--r-- 1 root other 6 Aug 2 18:00 IOstatDisk2.log 

Поэтому в этом случае я добавлю строку

 echo “new cycle - forced update after 55 min.” >> IOstatDisk2.log 

Но если последний штамп времени был менее 55 минут назад, я не буду добавлять строку.

2 Solutions collect form web for “Как принудительно обновлять файл, если оставить его без изменений через 55 минут?”

Вы можете проверить его (и работать с файлом, если тест имеет значение true) следующим образом:

 if [ $(((`date +%s` - `stat -c %Y IOstatDisk2.log`) / 60)) -ge 55 ] then echo "File was modified more than 55 minutes ago" # do something with the file... fi 

find GNU или find BSD сделают трюк для вас:

 find <DIRECTORY> -type f -amin +55 -name \*<PATTERN>\* -print 

это будет печатать все файлы с именем PATTERN в DIRECTORY, где доступ к ним превышает 55 минут назад.

  • Зачем было необходимо перезапустить веб-сервер apache для копирования файлов через php на недавно смонтированный файл?
  • Что вызывает эту команду Copy для входа в состояние ожидания?
  • Linux + Solaris, как проверить последний процесс выполнения из списка процессов
  • Может sudo для пользователя, но «запустить команду как» отказано?
  • Что должен знать администратор Linux Server о Solaris и AIX
  • В сценарии Nexenta bash используется / usr / sun / bin / sed вместо / usr / bin / sed
  • У BSD и SunOS многопотоковая архитектура?
  • Как заставить awk работать в цикле while
  • Как вставить несколько пустых строк после каждой строки
  • Счетчики ошибок iostat в Solaris
  • что такое inode for, во FreeBSD или Solaris
  • как сделать контрольную сумму в папке в Solaris
  • Linux и Unix - лучшая ОС в мире.