У меня есть каталог с несколькими или даже сотнями XML-файлов. Я хочу выполнить скрипт, когда новый файл найден. единственная ОСНОВНАЯ проблема - я не могу использовать inotifywait или что-то в этом роде. Из-за ограничения прав на установку. (У меня есть права, но мне не разрешают из-за соглашений, потому что это поддерживается нашим поставщиком). Поэтому я могу использовать скрипты, используя основные инструменты Linux, но не могу установить новые инструменты. Еще одно примечание, оно должно быть написано для довольно старой ОС, открытое использование 10.2.

Надеюсь, кто-то может помочь мне указать верное направление.

С уважением,

1 ответ1

0

Вот краткий пример простого bash-скриптинга с использованием «find -newer» в цикле:

#!/bin/bash
while [ 1 ]; do
  newfiles=`find /tmp -newer /tmp/.my_marker 2>/dev/null`
  touch /tmp/.my_marker
  if [ -n "$newfiles" ]; then
    echo "found files $newfiles"
  fi
  sleep 5
done

В этом примере скрипт находит файлы в /tmp, которые изменились со времени последнего цикла, используя время модификации /tmp/.my_marker, обновляемое каждый раз. Петля спит в течение 5 секунд перед следующей проверкой.

Действие - это просто эхо найденных файлов, вместо этого вы можете добавить свое собственное действие.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .