Скрипт для поиска новых файлов в каталоге и выполнения команды

Скрипт для поиска новых файлов в каталоге и выполнения команды

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

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

с уважением,

решение1

Вот краткий пример простого 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 секунд перед следующей проверкой.

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

Связанный контент