Отвечая на вторую часть вашего вопроса, «лучший» способ отслеживать изменения файловой системы - использовать inotify (7)
.
Существует набор утилит, которые могут подключаться к интерфейсу ядра, inotify-tools . В частности, вы хотите inotifywait из этого набора утилит:
inotifywait эффективно ожидает изменений в файлах, используя интерфейс Linux inotify (7). Подходит для ожидания изменений файлов из сценариев оболочки. Он может либо завершиться после наступления события, либо постоянно выполнять и выводить события по мере их возникновения.
Вы можете использовать его так:
#!/bin/sh
while inotifywait -e create /share/capture/*/; do
/share/capture/per.sh
done
Ваш скрипт будет вызван только тогда, когда будет создан новый файл. Я тестировал пример , а не - я адаптировал его со страницы руководства, поэтому, пожалуйста, адаптируйте его по мере необходимости.