Передача файлов между двумя серверами, нет FTP, нет сети

Я ищу, чтобы автоматизировать передачу файла в данном каталоге с одного сервера на другой сервер. они оба находятся в одной сети, могут пинговать друг друга, и даже ssh от одного к другому.

В настоящее время моя методология заключается в подключении к серверу A, загрузке файлов, SSH в сервер B и загрузке их...

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

Вот мои ограничения:

  • Ни один из серверов не может иметь никаких общедоступных веб-сервисов (без порта 80, без Apache, без ничего грустного)

  • Ни один из серверов не может использовать FTP-соединение любого типа (хотя мы можем использовать ssh)

Спасибо всем заранее за вашу помощь

5 ответов

Решение

Вот уже много ответов о scp или rsync. Для обычного резервного копирования на основе cron лучше использовать rsync.

Причины:

  • rsync копирует только те файлы, которые еще не на цели
  • так что обычно немного быстрее чем scp -r
  • имеет множество полезных параметров (например, что делать с символическими ссылками и т. д.)
  • с некоторыми изменениями может выступать в роли машины времени "OS X" (жесткие ссылки на последние версии)
  • вы можете запустить rsync через ssh или с помощью демона rsync (но для этого требуется гораздо больше настроек)
  • имеет аргумент --dry-run, чтобы показать, что будет копировать - хорошо для разработки / отладки.

для простого использования попробуйте:

rsync --dry-run -azvv -e ssh remoteuser@remotehost:/remote/path /local/dir

можно добавить --delete для удаления файлов, которых не существует на удаленном компьютере, и так... мужчина - ваш друг.

Ps голосование закрыть, потому что это принадлежит суперпользователю.

Если между серверами работает ssh, кажется, что вы ищете scp. это так же просто, как:

scp /dir/source.file user@targethost:dir/target.file

SMB вариант? Вы можете просто скопировать файлы в общую папку.

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