Как скопировать большие файлы на другой Linux Server независимо от TTY

На самом деле я пытался копировать все файлы в другом директоре. Общий размер файла – 188 ГБ, поэтому его потребуется некоторое время.

Im пытается скопировать для Linux-сервера A-B с помощью этой команды

nohup scp Files-from-Server-A root@xxx.xxx.xxx.xxx:tmp & 

но как только я закрою терминал, он перестанет копировать файлы, но процесс все еще отображается в диспетчере процессов.

4 Solutions collect form web for “Как скопировать большие файлы на другой Linux Server независимо от TTY”

scp обнаруживает, есть ли у него контрольный tty. Если вы запустите его как процесс переднего плана, он покажет индикатор выполнения, но если вы его воспользуетесь, индикатор прогресса исчезнет, ​​поэтому происходят некоторые внутренние проверки. Я бы сделал, как говорит @peterph, и начнет передачу в сеансе tmux или screen . Я не уверен в возможности использования nohup , но просто держу управляющий терминал активным.

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

Если это каталог, и вы часто повторяли одну и ту же команду, вам, вероятно, следует использовать rsync, который сначала проверяет, отличаются ли файлы (с контрольными суммами md5) перед их переносом. Вы также можете возобновить большие передачи файлов с --partial опции --partial .

 rsync -avz --partial --progress --rsh=ssh Files-from-Server-A [...] user@B:/tmp/ 

Общий совет – использовать терминальный мультиплексор (например, tmux или screen ) и запустить копию внутри, поскольку это дает одну большую гибкость. При необходимости вы можете отсоединить / снова подключить, чтобы проверить, как работает операция.

Эти программы создают «виртуальные» (безголовые) терминалы, которые отображаются на входе / входе от «реального» терминала (консоль linux, эмуляторы X-терминалов, ssh-соединение …). Поскольку на виртуальные терминалы не влияют прерывания в реальных терминалах (терминальный мультиплексор просто перестает отображать вывод, когда он обнаруживает закрытие IO-устройства и сохраняет сохранение вывода во внутреннем буфере), приложения, работающие внутри, экранируются от SIGHUP. В качестве бонуса они обычно предлагают, по крайней мере, некоторые базовые возможности оконного оформления текста.

Я не уверен в tmux (который активно развивается), но screen GNU должен быть включен в стандартный репозиторий RHEL.

lftp (программа передачи файлов терминала общего назначения) поддерживает sftp (не scp , но если у вас есть scp , у вас есть ssh и, скорее всего, он поддерживает sftp ), и он может переносить передачи в фоновом режиме, автоматически восстанавливать и возобновлять передачу ( после настраиваемой задержки) при сбое и т. д.

Вы не можете использовать rsync ? Такая большая передача обязательно сломается где-то, и я не уверен, что предложенные механизмы могут продолжить работу там, где она прервалась.

  • Укажите имя пользователя при использовании vim с scp
  • Настройка доступа SCP для входа без локальной учетной записи
  • Как копировать только файлы папки (включая файлы вложенных папок), но не сама папка в оболочке
  • Запустить команду после завершения команды nice
  • разрешение scp отклонено, когда пользователь выполняет команду scp для принадлежащих ему файлов в своем домашнем каталоге
  • Как лучше копировать большое количество небольших файлов по scp?
  • Предотвращение scp и менее команд, читающих интерактивный скрипт tcsh
  • Как выполнить итерацию списка и скопировать файлы из machineB и machineC эффективно?
  • SCP работает, но SSH не работает (по Wi-Fi)
  • Команда scp над ssh без пароля в скрипте
  • Пользователь не может касаться -t
  • Linux и Unix - лучшая ОС в мире.