CH-J Server Managerуправление серверами через SSH
Меню
Все руководства и статьи →

Передача по SFTP между двумя серверами Linux без SCP

Копируйте файлы между двумя удалёнными серверами через свой компьютер, обрабатывайте конфликты и проверяйте результат с помощью SHA-256.

Два способа передачи данных между серверами

Либо один сервер подключается напрямую к другому, либо ваш компьютер пересылает данные между ними. Прямое соединение обычно быстрее, но исходному серверу нужны сетевой доступ к целевому и учётные данные для него, которые вы, возможно, не хотите оставлять на сервере. При передаче через ваш компьютер ни то ни другое не требуется: учётные данные хранятся только на вашем компьютере, а серверам не обязательно быть доступными друг для друга. Плата за это — прохождение всех данных через ваше соединение.

Передача через компьютер из командной строки

Параметр -3 команды scp копирует данные между двумя удалёнными хостами через локальный компьютер. Это удобно для разового копирования, но очереди нет, и при обрыве передачи вам придётся запускать её заново самостоятельно.

scp -3 admin@source.example:/srv/data/archive.tar.gz admin@target.example:/srv/data/

Проверьте результат копирования

Прежде чем удалять что-либо на исходном сервере, сравните контрольную сумму на обоих серверах. Совпадающие значения SHA-256 показывают, что файл передан без повреждений. Одного лишь совпадения размеров файлов для этого недостаточно.

ssh admin@source.example sha256sum /srv/data/archive.tar.gz
ssh admin@target.example sha256sum /srv/data/archive.tar.gz

Заранее решите, как обрабатывать конфликты

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

Две панели в CH-J Server Manager

В Alpha 0.1.1 File Manager имеет от одной до трёх панелей, каждая из которых показывает локальный диск или любой открытый сеанс SSH. Копируйте или перемещайте файлы между панелями с клавиатуры, перетаскиванием или через контекстное меню. Данные потоком передаются из одного сеанса SFTP в другой через ваш компьютер без сохранения на его диск, а передачи используют очередь с приостановкой, возобновлением, отменой и обработкой конфликтов. При перемещении исходный файл удаляется только после совпадения его SHA-256 и лишь в том случае, если он не изменился.

Какие ограничения следует учитывать

Передача идёт не напрямую, поэтому скорость зависит от вашего соединения с обоими серверами, а компьютер должен оставаться подключённым. Файлы, доступные для чтения только с sudo, таким способом копировать между серверами нельзя. В Beta 0.1.0 нет многопанельного File Manager.

Подробная документация

OpenSSH: sftp →

OpenSSH: scp (-3) →

Биометрическое разблокирование и безопасность →