Переносим файлы с сервера на сервер при помощи команды rsync

Создание бекапа при переносе не всегда возможно, например закончилась дисковая квота, либо архив будет огромен. Да и зачем так делать, если объем слишком велик, то на упаковку, передачу огромного архива и последующий его разворот уйдет значительное время.

  • rsync умеет копировать и синхронизировать файлы с локальной машины на удалённую — и наоборот;
  • поддерживает копирование ссылок, файлов устройств, данные о владельцах, группах и права доступа;
  • rsync работает быстрее, чем scp, потому что использует специальный протокол удалённого обновления, который позволяет передавать данные только об изменившихся файлах: первый раз копируется полное содержимое файла или директории, но при следующем копировании — rsync копирует только изменившиеся блоки данных;
  • rsync использует меньше пропускной способности канала передачи данных, т.к. использует компрессию и декомпрессию данных;

Синтаксис команды при переносе по ssh:

Я использую первый синтаксис, чтобы сразу продолжить работу на локальном сервере. При первом использовании меня поразила скорость передачи. Сайт весил немного, всего то 80МБ, но количество мелких файлов приличное. Залетело — глазом не моргнул, секунды 1.5 и я сразу вспомнил, как переносил это же при помощи Filezilla — прога рекурсивно добавляла в задания файлы и папки, и весьма нудно загружала даже такой объем, причем делать это приходилось дважды — сначала на локальный комп и затем на удаленный сервак. Не говоря уже об огромных сайтах — дело затягивалось на сутки и более… rsync гораздо быстрее! Те сайты, которые я когда-то переносил целый день, удалось перенести менее чем за час. Кроме того утилита умеет не только переносить файлы с сервера на сервер, а синхронизировать(из названия ясно) локальные файлы/директории и делать бекапы.

А ещё очень круто забирать с сервера себе на комп бекапы одной командой:

В данном случае на винде директория расположена по пути D:/backups и качаю через терминал MobaXterm
Шикарно видно ход процесса: прогресс барчик, объем скачанного, процент скачанного, скорость, оставшееся время.

P.S. Подключение с не стандартным портом ssh: