
У меня есть каталог с несколькими или даже сотнями 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 секунд перед следующей проверкой.
Действие — это просто эхо найденных файлов, вместо него вы можете указать свое собственное действие.