Автоматическое инициирование каталога в ftp

Я должен контролировать каталог в FTP-сервере из Ubuntu. Если какие-либо новые файлы появляются в определенном каталоге в FTP-сервере, что файлы должны быть скопированы в мою машину Ubuntu. У меня есть вход в систему ssh моего FTP-сервера. Эта автоматизация должна быть сделана от моей машины Ubuntu, это возможный?

1
задан 28 September 2016 в 05:32

2 ответа

Syncthing может сделать это легко между двумя машинами. Если у Вас есть доступ SSH, можно использовать перенаправление портов для соединения syncthing экземпляров.

1
ответ дан 7 December 2019 в 15:48

Ваш комментарий в инициирование каталога 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, если Вы делаете такого рода вещь много. Это довольно легко ресурсом.

0
ответ дан 7 December 2019 в 15:48

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

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