Я должен контролировать каталог в FTP-сервере из Ubuntu. Если какие-либо новые файлы появляются в определенном каталоге в FTP-сервере, что файлы должны быть скопированы в мою машину Ubuntu. У меня есть вход в систему ssh моего FTP-сервера. Эта автоматизация должна быть сделана от моей машины Ubuntu, это возможный?
Syncthing может сделать это легко между двумя машинами. Если у Вас есть доступ SSH, можно использовать перенаправление портов для соединения syncthing экземпляров.
Ваш комментарий в инициирование каталога Automatic в ftp был почти там. Попробуйте
$ ssh "$SERVER" inotifywait -m /tmp/sample/ -e create -e moved_to \
| while read d o f; do
case "$o" in CREATE|MOVED_TO)
scp "$SERVER":/tmp/sample/"$f" /tmp/sample/;;
esac
done
Однако, если Вы хотите, чтобы это работало с subdirs, необходимо, вероятно, просто звонить, rsync на каждом случае (rsync самом выяснит, какой файл является новым), и включайте-r в inotifywait, например,
$ ssh "$SERVER" inotifywait -r -m /tmp/sample/ -e create -e moved_to \
| while read d o f; do
case "$o" in CREATE|MOVED_TO)
rsync -avh "$SERVER":/tmp/sample /tmp/sample;;
esac
done
(Если Вы хотите сделать это с scp, необходимо удостовериться, что локальные каталоги создаются и т.д., который в значительной степени заканчивает тем, что повторно реализовал rsync.)
<час>Однако я рекомендую изучить Syncthing, если Вы делаете такого рода вещь много. Это довольно легко ресурсом.