С помощью inotifywait исключайте файлы с определенными расширениями

То, что вы описываете, и есть то, для чего нужны генераторы, см. man systemd.generators. Сравните man systemd-fstab-generator, который генерирует единицы крепления из /etc/fstab, он также читает, например,. root=из командной строки ядра. Тем не менее, если вы поддерживаете только параметр командной строки ядра и у вас нет конфигурационного файла, вы можете быть так же счастливы, написав для него ранний -загрузочный(DefaultDependencies=no)служебный модуль.

0
07.02.2020, 03:14
2 ответа

Переадресация вашего звонка наgrep

inotifywait -m -e create --format '%w%f' "${MONITORDIR}" |\
grep '.dat.pgp$' --line-buffered | while read  NEWFILE 
   do

   #decrypts testfile.dat.pgp
   # new file "testfile.dat" is created in the $MONITOR_DIR which triggers
   # the inotifywait process to run again.

   done

заставит inotifywaitпросматривать только файлы с расширением .dat.pgp.

0
28.04.2021, 23:24

Вероятно, вы могли бы также пропустить файлы внутри цикла чтения while.

    inotifywait -m -e create --format '%w%f' "${MONITORDIR}" |\
    while read  -r NEWFILE; do 
       if [[ $NEWFILE == *.dat.pgp ]]; then
        #decrypts testfile.dat.pgp
        # new file "testfile.dat" is created in the $MONITOR_DIR which triggers
        # the inotifywait process to run again.
       fi
    done

Я не тестировал этот код, но тест должен обрабатывать только те файлы, которые заканчиваются на*.dat.gpg

0
28.04.2021, 23:24

Теги

Похожие вопросы