2

Я собираюсь получить сервер VPS очень скоро для некоторых ресурсоемких сайтов, которыми я управляю. Я живу в стране, где скорость интернета 1 Мбит / с - это роскошь и постоянное бесперебойное электричество, миф.

Вот что я пытаюсь достичь:

  • Как получить файлы и каталоги, скопированные с исходного сервера на конечный сервер через SSH / SCP.
  • Как по-прежнему копировать файлы между серверами, даже если у меня отключается интернет или отключается питание.
  • Как получить файлы, все еще копирующие между обоими серверами, если я закрываю окно терминала.

Я знаю о копировании по scp, но не похоже, что он продолжает работать, когда я выхожу из сети.

3 ответа3

3
rsync -azvP source_directory user@remote:remote_directory

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

Вот объяснение каждого флага тоже. http://explainshell.com/explain?cmd=rsync+-azvP

Если вы хотите разрешить запуск этого на сервере, не входя в систему, вы можете передать вышеуказанную команду команде nohup . Вы также можете запустить это в сеансе tmux, который позволит вам отслеживать ход выполнения (или перезапускать команду), прикрепляя сеанс при входе в систему на своем компьютере.

Вы можете запустить сеанс tmux, набрав tmux на своем сервере. Затем вы можете запустить команду rsync и отсоединиться от сеанса tmux, набрав CTRL+b а затем d . Выход из системы не повлияет на процедуру копирования. Когда вы снова войдете в систему, вы можете набрать tmux attach и вы сможете просмотреть ход операции копирования.

Надеюсь это поможет! Дайте мне знать, если я смогу что-то уточнить.

2

Я считаю, что это должно решить проблему:

nohup scp -r big-folder remote-machine:/home/user/ &

Эта команда запускает процесс копирования и продолжит копирование после выхода из системы.

2

Я настоятельно рекомендую вам взглянуть на команду rsync. Команда rsync полезна, потому что она может легко возобновить передачу. Rsync по умолчанию работает по протоколу SSH, вам просто нужен двоичный файл rsync на клиенте и сервере.

Rsync обнаружит, что уже было передано, и передаст только файлы и части файлов, которые не были переданы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .