Головоломка: передача файлов между двумя серверами (ssh, ftp, http multipart …)

Пазл: файлы, загружаемые в реальном времени с помощью SCP на SERVER1, должны быть перенесены на SERVER2.

Но:

  • SERVER1 фактически не имеет сетевого доступа к SERVER2 (NAT), однако SERVER2 имеет SSH-доступ к SERVER1
  • SERVER1 и SERVER2 работают под управлением Linux
  • Сервер SERVER2 работает на FTP-сервере, может запускать HTTP-сервер для приема файлов,
  • SFTP-сервер на сервере SERVER2 не является вариантом
  • Файлы, переданные в SERVER2, должны быть удалены из SERVER1 при успешной передаче

Предпочтение – использовать запущенный FTP-сервер на сервере SERVER2

Любые идеи о простых способах передачи файлов с SERVER1 на SERVER2?

пс. FTP через обратный туннель SSH был исключен, завиток, вероятно, работал бы через обратный SSH-туннель с HTTP-сервером, работающим на сервере SERVER2, но для этого требуется HTTP-сервер, который больше работает.

Вы можете запустить rsync через ssh. Настройте ssh-ключи, чтобы вы могли сделать это не интерактивно (т. Е. Избегать использования пароля). Используйте cron, чтобы запланировать его.

Ознакомьтесь с этой статьей. http://www.askapache.com/security/mirror-using-rsync-ssh.html

Если у вас есть SSH-доступ к серверу1 с сервера2, кажется, проще всего scp их на server2 с сервера1. Кроме того, вы можете настроить механизм подачи файлов, такой как FTP или HTTP (S) сервер на сервере1, и перенести их таким образом, используя curl и т. Д. На сервере2.