В этой статье я покажу вам, как использовать команду rsync для копирования файлов и каталогов и создания инкрементного резервного копирования. Я буду использовать Ubuntu для демонстрации. Но любой современный дистрибутив Linux должен работать нормально. Итак, приступим.
Установка rsync:
rsync уже должен быть установлен в Ubuntu. Но, если он по какой-то причине не установлен на вашем компьютере, вы можете легко установить его из официального репозитория пакетов Ubuntu с помощью следующей команды:
$ sudo apt install rsync -y
Формат команды rsync:
Основной формат команды rsync:,
Параметры $ rsync источник назначения- источник может быть файлом, каталогом или сетевым путем.
- назначения может быть каталог или сетевой путь.
- rsync имеет много опций. Вы можете изменить поведение rsync, используя эти параметры. По пути мы рассмотрим некоторые из наиболее распространенных вариантов.
Когда вы используете rsync, вам необходимо знать следующее:
- Если поставить / после имени каталога в источник rsync, например мои файлы/, тогда это означает копирование всех файлов из каталога только в папку назначения.
- Если вы не поставите / после имени каталога в источник rsync, например мои файлы, тогда rsync скопирует все файлы из каталога в назначения включая каталог.
- Если вы введете назначения путь к каталогу, который не существует, тогда rsync автоматически создаст его по мере необходимости.
Резервное копирование локальных файлов и каталогов с помощью rsync:
Вы можете очень быстро копировать файлы из одного каталога в другой на вашем компьютере с помощью rsync.
Например, скажем, у вас есть важные файлы в папке ~ / Загрузки каталог. Теперь вы хотите сделать резервную копию всех файлов из ~ / Загрузки каталог на USB-накопитель / dev / sdb1 установлен в каталоге / mnt / myusb.
Сделаем несколько фиктивных файлов в ~ / Загрузки каталог.
$ touch ~ / Загрузки / тест 1… 100
Теперь скопируйте все файлы из ~ / Загрузки каталог для / mnt / myusb каталог с помощью следующей команды rsync:
$ rsync -avzh ~ / Загрузки / / mnt / myusb
Файлы следует скопировать.
Как видите, файлы находятся в папке / mnt / myusb каталог.
Вы также можете скопировать весь ~ / Загрузки каталог на флэш-накопитель USB следующим образом:
$ rsync -avzh ~ / Загрузки / mnt / myusb
Как видите, весь каталог копируется на флешку.
Опять же, если вы хотите скопировать все файлы из ~ / Загрузки каталог в другой каталог (скажем, mydownloads /) на флэш-накопителе USB запустите rsync следующим образом:
$ rsync -avzh ~ / Загрузки / / mnt / myusb / mydownloads
Как видите, файлы правильно скопированы на флешку.
Резервное копирование удаленных файлов и каталогов с помощью rsync:
С помощью rsync вы можете копировать файлы и каталоги с удаленного сервера в вашу локальную файловую систему или USB-накопитель для резервного копирования. Вы также можете копировать файлы и каталоги из локальной файловой системы на удаленный сервер резервного копирования. rsync использует SSH для копирования файлов и каталогов на / с удаленного сервера.
У вас должен быть пакет SSH-сервера (openssh-сервер на Ubuntu) и rsync пакет, установленный на удаленном сервере, если вы хотите использовать rsync для резервного копирования файлов.
Например, предположим, вы хотите скопировать все содержимое (включая каталог) / www каталог с вашего удаленного сервера www.example1.ком на флэш-накопитель USB, установленный на пути / mnt / myusb в вашей локальной файловой системе.
Для этого вы можете использовать следующую команду rsync:
$ rsync -avzh root @ www.example1.ком: / www / mnt / myusbПРИМЕЧАНИЕ: Здесь, корень это удаленное имя пользователя, www.example1.ком DNS-имя удаленного сервера и / www это путь к каталогу на удаленном сервере. Вы также можете использовать IP-адрес удаленного сервера вместо DNS-имени, если хотите.
Вы можете увидеть следующее сообщение, если впервые подключаетесь к удаленному серверу. Просто введите да а затем нажмите
Теперь введите пароль для удаленного пользователя (в моем случае это корень) и нажмите
Все файлы и каталоги внутри / www каталог, включая каталог / www следует скопировать на USB-накопитель, как вы можете видеть на скриншоте ниже.
Вы также можете копировать файлы из локальной файловой системы на удаленный сервер с помощью rsync.
В предыдущем примере вы сделали резервную копию / www каталог на удаленном сервере. Теперь предположим, что некоторые файлы на удаленном сервере повреждены, и вы хотите восстановить их из резервной копии.
Для этого запустите команду rsync следующим образом:
$ rsync -avzh / mnt / myusb / www / root @ www.example1.com: / www
Теперь введите пароль вашего удаленного сервера и нажмите
Файлы должны быть скопированы из вашей локальной файловой системы на удаленный сервер.
Создание инкрементных резервных копий с помощью rsync:
В этом типе резервного копирования источник а также назначения каталоги синхронизируются. Если какой-либо файл добавлен в источник каталог, он добавлен в назначения каталог также. Таким же образом, если какой-либо файл или каталог из источник каталог удален, он удален из назначения каталог также.
rsync - отличный инструмент для создания инкрементного резервного копирования.
Допустим, у вас есть каталог ~ / облако в вашем пользователе ДОМ каталог. Теперь вы хотите сделать инкрементную резервную копию каталога на USB-накопитель, установленный по пути / mnt / usb1 на удаленном сервере резервное копирование.пример.ком.
ПРИМЕЧАНИЕ: Вы должны иметь openssh-сервер а также rsync пакеты, установленные на вашем удаленном сервере, чтобы это работало.
Чтобы сделать инкрементную резервную копию ~ / облако, выполните следующую команду:
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.пример.ком: / mnt / usb1 / резервное копирование
Теперь введите пароль для вашего удаленного пользователя и нажмите
Содержание ~ / облако каталог должен быть скопирован на USB-накопитель на удаленном сервере.
Как видите, все файлы копируются на USB-накопитель, установленный на удаленном сервере резервного копирования.
Теперь давайте удалим файл из локальной файловой системы и посмотрим, что произойдет.
$ rm ~ / облако / пакеты.текст
Теперь используйте rsync, чтобы снова синхронизировать каталоги с той же командой, что и раньше.
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.пример.ком: / mnt / usb1 / резервное копирование
Как видите, файл пакеты.текст также удаляется с флэш-накопителя USB, установленного на удаленном сервере резервного копирования.
Куда идти дальше:
Вы можете найти дополнительную информацию о rsync на странице руководства rsync. На странице руководства rsync есть подробное описание всех опций rsync. Я очень рекомендую вам это проверить.
Вы можете получить доступ к странице руководства rsync с помощью следующей команды:
$ man rsync
Вот как вы используете rsync для копирования файлов и создания инкрементных резервных копий в Ubuntu. Спасибо, что прочитали эту статью.