У меня есть сценарий удара, который наблюдает папку, если что-то будет добавлено к папке, то сценарий переместит все скручивание жгутов содержания контролируемая папка к определенному месту назначения.
ПРОБЛЕМА: - сценарию не удается переместить файлы в контролируемую папку к папке назначения через 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
Во-первых, при наличии inotifywait -e moved_to
только монитор для файлов переместился в целевой каталог, Вы опускаете контролировать для файлов, которые были записаны или перезаписанный там, например Filezilla
. Добавьте -e modify -e create
к своей команде, или, если у Вас нет убедительной причины проигнорировать приблизительно inotifywait
события, отбросьте весь эти -e whatever
опции.
mv ~/folderA/fileA/* "/folderB/myNewDest"
команда Вы рискуете быть пойманными глупыми именами файлов, например, foo;rm -rf *
. Я предложил бы
find ~/folderA/fileA/ -maxdepth 0 -type f -print0 | \
xargs -0 mv --target-directory=/folderB/myNewDest --
, который делает то же самое, но более безопасно.