2

Я использую inotifywait для поиска новых файлов. Я хотел бы игнорировать новые каталоги, хотя. Я не могу заставить что-то работать.

Вот что я использую:

#!/bin/sh
MONITORDIR1="/hdd_1/path/to/dir"
MONITORDIR2="/hdd_1/path/to/dir"
#MONITORDIR3="/hdd_1/path/to/dir"
#MONITORDIR4="/hdd_1/path/to/dir"

monitor() {
inotifywait -m -r -e create --exclude '/\..+' --format "%f" "$1" | while read NEWFILE
do
        echo "This is an automated email." | mail -s "${NEWFILE} has been added to Daemon!" "user@domain.com"
done
}
monitor "$MONITORDIR1" &
monitor "$MONITORDIR2" &
#monitor "$MONITORDIR3" &
#monitor "$MONITORDIR4" &

1 ответ1

0

Это легко. Уберите recurse flag -r и перечислите существующие каталоги с помощью find .

monitor() {
  dirs=$(find "$1" -type d)
  inotifywait -m -e create --exclude... --format... $dirs |while ...
}

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