inotifywait и rsync печатает временные имена файлов

Я пишу скрипт bash, который будет отправлять запрос POST на удаленный сервер каждый раз, когда в каталоге создается новый файл. Я использую RSYNC для синхронизации нескольких каталогов с основным каталогом. Затем главный каталог просматривается inotifywait который запускает выполнение скрипта при обнаружении новых файлов.

Проблема заключается в том, как RSYNC создает файлы, которые я читаю здесь. Временное расширение Rsync, которое RSYNC использует mktemp который создает имена файлов, такие как .filesynced.x12fj1 но затем переименует их в filesynced после завершения копирования.

Поэтому в моем inotifywait bash-скрипте я получаю имена файлов temp, а не имя файла после его переименования. Мне интересно, может ли кто-нибудь указать мне в правильном направлении, чтобы я мог получить имя файла после его перемещения и переименования.

 #!/bin/bash inotifywait -m -q -e close_write /edi-files | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" # send contents of $file to api endpoint. done 

CRON JOB:

 */1 * * * * rsync -avz --no-perms --no-o --no-g --remove-source-files /home/dir3/upload/ /home/dir2/upload/ /home/dir1/upload/ /edi-files/ 

ТЕКУЩИЙ ВЫХОД:

 The file '.xxxxxxx1.ATM.8I2mrS' appeared in directory '/edi-files/' via 'CLOSE_WRITE,CLOSE' The file '.xxxxxxx2.ATM.MnIMPP' appeared in directory '/edi-files/' via 'CLOSE_WRITE,CLOSE' The file '.xxxxxxx3.txt.3FSceN' appeared in directory '/edi-files/' via 'CLOSE_WRITE,CLOSE' The file '.xxxxxxx4.txt.GoIDCK' appeared in directory '/edi-files/' via 'CLOSE_WRITE,CLOSE' 

  • Что мне следует включать и исключать с помощью rsync для резервного копирования моей системы?
  • Сбой сценария резервного копирования с параметрами команды rsync в цитируемой переменной
  • Почему существует несколько потоков rsync?
  • Существует ли простой способ ограничения числа дочерних процессов, выполняемых параллельно?
  • Прерывая rsync с помощью ctrl-c, следует ли использовать `--partial` или` --append`?
  • Проверка присоединения Rsync не отражает каталоги
  • Имейте rsync уважать файлы btrfs copy-on-write
  • Значение пересечения границ файловой системы, - однофайловая система и т. Д.
  • rsync приводит к почти всем поврежденным файлам
  • Применить заданные шаблоны исключения rsync в заданной директории
  • rsync - копировать содержимое каталога только в том случае, если определенный файл не существует
  • Interesting Posts

    Редактирование командной строки и текстовый редактор на AIX

    Как установить квоту на диск процесса?

    Найти файлы, содержащие одну строку, но не другую

    Почему я не могу увидеть свой файл в ОЗУ?

    Как перекомпилировать 2 миллиона файлов gzip, не сохраняя их дважды?

    Почему работа зеркала lftp замедляется со временем?

    на daemon создает пустые задачи

    Вставить закладку в .pdf-файл для печати

    Настройка Linux-ПК как маршрутизатора

    Awk для удаления строки, если аргумент встречается в определенном столбце

    Что может вызвать это странное жужжание при использовании моей USB-гарнитуры для аудиосигнала 48 кГц?

    Как извлечь дату и рассчитать, находится ли она в течение «х» дней с сегодняшнего дня?

    Как мне сделать окно командной строки tmux пустой по умолчанию?

    Завершение вкладки не работает для аргументов, когда команда является псевдонимом

    Как скомпилировать C-код с библиотекой «Unix network book book»?

    Linux и Unix - лучшая ОС в мире.