Движущиеся файлы со сценариями удара

У меня есть сценарий удара, который наблюдает папку, если что-то будет добавлено к папке, то сценарий переместит все скручивание жгутов содержания контролируемая папка к определенному месту назначения.

ПРОБЛЕМА: - сценарию не удается переместить файлы в контролируемую папку к папке назначения через FileZilla (FTP). Сценарий действительно работает при перемещении файла в контролируемую папку вручную посредством приглашения оболочки. FTP является единственным форматом, не работающим правильно.

Какие-либо Идеи, какова проблема может быть?

Вот сценарий:

inotifywait -m ~/folderA/fileA -e moved_to |
    while read path action file; do
        #echo "The file '$file' appeared in directory '$path' via '$action'"
        # do something with the file
    mv ~/folderA/fileA/* "/folderB/myNewDest"
    done
5
задан 9 June 2018 в 08:49

1 ответ

Во-первых, при наличии inotifywait -e moved_to только монитор для файлов переместился в целевой каталог, Вы опускаете контролировать для файлов, которые были записаны или перезаписанный там, например Filezilla. Добавьте -e modify -e create к своей команде, или, если у Вас нет убедительной причины проигнорировать приблизительно inotifywait события, отбросьте весь эти -e whatever опции.

119-секундный, не заключая в кавычки из файлов в Вашем mv ~/folderA/fileA/* "/folderB/myNewDest" команда Вы рискуете быть пойманными глупыми именами файлов, например, foo;rm -rf *. Я предложил бы

find ~/folderA/fileA/ -maxdepth 0 -type f -print0 | \
xargs -0 mv --target-directory=/folderB/myNewDest --

, который делает то же самое, но более безопасно.

6
ответ дан 23 November 2019 в 09:13

Другие вопросы по тегам:

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