Intereting Posts
синтаксическая ошибка рядом с неожиданным токеном `then ' Файлы tar для Linux менее 3 месяцев назад, используя дату в filename Как настроить уровень запуска 3 в Debian 8? Какова стандартная или наиболее часто используемая модель многопроцессорности в Linux? Симметричный или асимметричный? Правильная временная шкала файла .ts группы журнальных процессов Загрузка PXE через внешний сервер TFTP Протяните устройство через USB или wlan Как заставить smartd игнорировать жесткий диск? автоматически создавать суб-интерфейсы VLAN, если они являются частью моста в файле / etc / network / interfaces Сохраните stdout и stderr в файле, затем заново создайте вывод позже проанализировать действительно простую грамматику разметки со сценарием оболочки Есть ли какой-либо ntpd, который может быть сконфигурирован только для прослушивания выбранных интерфейсов? Изменение разрешений папок в Debian Как обновить openSUSE от стабильного до разработки?

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

Я хочу написать сценарий, который можно планировать для запуска через определенные интервалы таким образом, чтобы каждый раз, когда запускается этот скрипт, он проверяет HOSTNAME_FA.lck метку создания другого файла HOSTNAME_FA.lck . Если (creation timestamp - current timestamp) > 5 Minutes . Он запускает еще один тест ping.

Пример: Имя checkFailedNodes.sh : файл checkFailedNodes.sh который необходимо проверить, прошел ли он через 5 минут после создания метки времени: Hostname_FA.lck

Если checkFailedNodes.sh запускает и идентифицирует, что создание файла прошло 5 минут, скрипт checkFailedNodes.sh повторит проверку узла (HOSTNAME) с помощью ICMP-пинга.

Какой был бы лучший способ сделать это?

Несколько вопросов здесь, так что давайте разбейте их.

Вам нужен сценарий, который планируется запустить с фиксированными интервалами. Для этого cron . Например, если вы хотите /path/to/script.sh запускаться каждые пять минут, добавьте эту запись в cron :

 */5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1 

Чтобы найти файлы, которые были в последний раз модифицированы более n минут назад, используйте -mmin . Продемонстрируйте с n = 5:

 find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 

Чтобы выполнить скрипт для каждого найденного файла:

 find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 -exec /path/to/otherscript.sh {} \; 

Магический токен {} filename будет заменен именем файла, поэтому скрипт может быть спроектирован для просмотра содержимого или имени файла и действий соответственно.