Как использовать команду rsync для копирования файлов в Ubuntu

How Use Rsync Command Copy Files Ubuntu



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

В этой статье я покажу вам, как использовать команду rsync для копирования файлов и каталогов и создания инкрементного резервного копирования. Я буду использовать Ubuntu для демонстрации. Но любой современный дистрибутив Linux должен работать нормально. Итак, приступим.







Установка rsync:

rsync уже должен быть установлен в Ubuntu. Но, если он по какой-то причине не установлен на вашем компьютере, вы можете легко установить его из официального репозитория пакетов Ubuntu с помощью следующей команды:



$судоподходящийустановитьrsync-а также



Формат команды rsync:

Основной формат команды rsync:





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

Когда вы используете rsync, вам необходимо знать следующее:

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

Резервное копирование локальных файлов и каталогов с помощью rsync:

Вы можете очень быстро копировать файлы из одного каталога в другой на вашем компьютере с помощью rsync .



Например, у вас есть важные файлы в папке ~ / Загрузки каталог. Теперь вы хотите сделать резервную копию всех файлов из ~ / Загрузки каталог на USB-накопитель / dev / sdb1 смонтирован в каталоге / mnt / myusb .

Давайте сделаем несколько фиктивных файлов в ~ / Загрузки каталог.

$трогать~/Загрузки/тестовое задание{1..100}

Теперь скопируйте все файлы из ~ / Загрузки каталог в / mnt / myusb каталог с помощью следующей команды rsync:

$rsync-авж~/Загрузки/ /мнт/myusb

Файлы следует скопировать.

Как видите, файлы находятся в папке / mnt / myusb каталог.

Вы также можете скопировать весь ~ / Загрузки каталог на флэш-накопитель USB следующим образом:

$rsync-авж~/Загрузки/мнт/myusb

Как видите, весь каталог копируется на USB-накопитель.

Опять же, если вы хотите скопировать все файлы из ~ / Загрузки каталог в другой каталог (скажем, mydownloads /) на флэш-накопителе USB запустите rsync следующим образом:

$rsync-авж~/Загрузки/ /мнт/myusb/мои загрузки

Как видите, файлы правильно скопированы на USB-накопитель.

Резервное копирование удаленных файлов и каталогов с помощью rsync:

С помощью rsync вы можете копировать файлы и каталоги с удаленного сервера в локальную файловую систему или USB-накопитель для резервного копирования. Вы также можете копировать файлы и каталоги из локальной файловой системы на удаленный сервер резервного копирования. rsync использует SSH для копирования файлов и каталогов на / с удаленного сервера.

У вас должен быть пакет SSH-сервера ( openssh-сервер на Ubuntu) и rsync пакет, установленный на удаленном сервере, если вы хотите использовать rsync для резервного копирования файлов.

Например, предположим, вы хотите скопировать все содержимое (включая каталог) / www каталог с вашего удаленного сервера www.example1.com на флэш-накопитель USB, установленный на пути / mnt / myusb в вашей локальной файловой системе.

Для этого вы можете использовать следующую команду rsync:

$rsync-авжкорень@www.example1.com:/www/мнт/myusb

ЗАМЕТКА: Здесь, корень это удаленное имя пользователя, www.example1.com DNS-имя удаленного сервера и / www - это путь к каталогу на удаленном сервере. Вы также можете использовать IP-адрес удаленного сервера вместо DNS-имени, если хотите.

Вы можете увидеть следующее сообщение, если подключаетесь к удаленному серверу впервые. Просто введите да а затем нажмите .

Теперь введите пароль для удаленного пользователя (в моем случае это корень ) и нажмите .

Все файлы и каталоги внутри / www каталог, включая каталог / www следует скопировать на флэш-накопитель USB, как показано на скриншоте ниже.

Вы также можете копировать файлы из локальной файловой системы на удаленный сервер с помощью rsync.

В предыдущем примере вы сделали резервную копию / www каталог на удаленном сервере. Теперь предположим, что некоторые файлы на удаленном сервере повреждены, и вы хотите восстановить их из резервной копии.

Для этого запустите команду rsync следующим образом:

$rsync-авж /мнт/myusb/www/корень@www.example1.com:/www

Теперь введите пароль вашего удаленного сервера и нажмите .

Файлы должны быть скопированы из вашей локальной файловой системы на удаленный сервер.

Создание инкрементных резервных копий с помощью rsync:

В этом типе резервного копирования источник а также место назначения каталоги синхронизируются. Если какой-либо файл добавлен в источник каталог, он добавлен в место назначения каталог. Таким же образом, если какой-либо файл или каталог из источник каталог удален, он удален из место назначения каталог.

rsync - отличный инструмент для создания инкрементного резервного копирования.

Допустим, у вас есть каталог ~ / облако в вашем пользователе ДОМ каталог. Теперь вы хотите сделать инкрементную резервную копию каталога на USB-накопитель, установленный по пути / mnt / usb1 на удаленном сервере backup.example.com .

ЗАМЕТКА: Вы должны иметь openssh-сервер а также rsync пакеты, установленные на вашем удаленном сервере, чтобы это работало.

Чтобы сделать инкрементную резервную копию ~ / облако , выполните следующую команду:

$rsync-авж --удалять --прогресс~/облако/Шовон@backup.example.com:/мнт/usb1/резервное копирование

Теперь введите пароль для вашего удаленного пользователя и нажмите .

Содержание ~ / облако каталог следует скопировать на флэш-накопитель USB на удаленном сервере.

Как видите, все файлы копируются на USB-накопитель, установленный на удаленном сервере резервного копирования.

Теперь давайте удалим файл из локальной файловой системы и посмотрим, что произойдет.

$rm~/облако/packages.txt

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

$rsync-авж --удалять --прогресс~/облако/Шовон@backup.example.com:/мнт/usb1/резервное копирование

Как видите, файл packages.txt также удаляется с флэш-накопителя USB, установленного на удаленном сервере резервного копирования.

Куда идти дальше:

Вы можете найти дополнительную информацию о rsync на странице руководства rsync. На странице руководства rsync есть подробное описание всех опций rsync. Я очень рекомендую вам это проверить.

Вы можете получить доступ к странице руководства rsync с помощью следующей команды:

$человекrsync

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