Как принудительно обновлять файл, если оставить его без изменений через 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 минут назад, я не буду добавлять строку.

  • Как определить общие файлы, открытые с помощью userid
  • «NFS <сервер> не отвечает, все еще пытается« ошибка времени »
  • squid: Незаконная инструкция (ядро сбрасывается)
  • Как может пользователь, не являющийся пользователем root, проверить, экспортирована ли FS на сервер?
  • Восстановление открытого файла
  • Разница между «/ export / home» и «/ home»
  • sed / awk / perl - удаление пробелов между двумя строками / словами + solaris 10
  • Серверные серверные полосы для подключения к сети Solaris
  • 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 минут назад.

    Linux и Unix - лучшая ОС в мире.