Как да използвате командата rsync за копиране на файлове в Ubuntu

How Use Rsync Command Copy Files Ubuntu



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

В тази статия ще ви покажа как да използвате командата rsync, за да копирате файлове и директории и да направите допълнително архивиране. Ще използвам Ubuntu за демонстрацията. Но всяка съвременна дистрибуция на Linux трябва да работи добре. И така, нека започнем.







Инсталиране на rsync:

rsync вече трябва да е инсталиран на Ubuntu. Но ако по някаква причина не е инсталиран на вашия компютър, можете лесно да го инсталирате от официалното хранилище на пакети на Ubuntu със следната команда:



$sudoподходящИнсталирайrsync



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

Основният формат на командата rsync е,





$rsync опцииизточникдестинация
  • източник може да бъде файл или директория или мрежов път.
  • дестинация може да бъде директория или мрежов път.
  • rsync има много опции. Можете да промените поведението на rsync, като използвате тези опции. Ще разгледаме някои от най -често срещаните опции по пътя.

Когато използвате rsync, трябва да знаете следните неща:

  • Ако поставите а / след името на директорията в източник на rsync като моите файлове/ , тогава това означава да копирате всички файлове от директорията само в дестинация .
  • Ако не поставите а / след името на директорията в източник на rsync като моите файлове , тогава rsync ще копира всички файлове от директорията в дестинация включително директорията.
  • Ако въведете a дестинация път на директорията, който не съществува, тогава rsync автоматично ще го създаде според изискванията.

Архивиране на локални файлове и директории с rsync:

Можете да копирате файлове от една директория в друга директория на вашия компютър много бързо с rsync .



Например, да речем, че имате някои важни файлове в ~/Изтегляния директория. Сега искате да архивирате всички файлове от ~/Изтегляния директория към вашето USB флаш устройство /dev/sdb1 монтиран в директорията / mnt / myusb .

Нека направим някои фиктивни файлове в ~/Изтегляния директория.

$докосване~/Изтегляния/тест{1..100}

Сега копирайте всички файлове от ~/Изтегляния директория към / mnt / myusb директория със следната команда rsync:

$rsync-avzh~/Изтегляния/ /mnt/myusb

Файловете трябва да бъдат копирани.

Както можете да видите, файловете са в / mnt / myusb директория.

Можете също да копирате цялото ~/Изтегляния директория към вашето USB флаш устройство, както следва:

$rsync-avzh~/Изтегляния/mnt/myusb

Както можете да видите, цялата директория се копира на USB флаш устройството.

Отново, ако искате да копирате всички файлове от ~/Изтегляния директория в друга директория (да речем mydownloads/) на USB флаш устройството, стартирайте rsync, както следва:

$rsync-avzh~/Изтегляния/ /mnt/myusb/mydownloads

Както можете да видите, файловете са правилно копирани на USB флаш устройството.

Архивиране на отдалечени файлове и директории с rsync:

С rsync можете да копирате файлове и директории от отдалечен сървър към вашата локална файлова система или USB флаш устройство за архивиране. Можете също да копирате файлове и директории от вашата локална файлова система на вашия отдалечен сървър за архивиране. rsync използва SSH за копиране на файлове и директории към/от отдалечен сървър.

Трябва да имате пакет SSH сървър ( openssh-сървър на Ubuntu) и rsync пакет, инсталиран на отдалечения сървър, ако искате да използвате rsync за архивиране на файлове.

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

За да направите това, можете да използвате следната команда rsync:

$rsync-avzhкорен@www.example1.com:/www/mnt/myusb

ЗАБЕЛЕЖКА: Тук, корен е отдалечено потребителско име, www.example1.com е DNS името на отдалечения сървър и /www е път към директория на отдалечения сървър. Можете също да използвате IP адреса на отдалечения сървър вместо DNS името, ако искате.

Може да видите следното съобщение, ако се свързвате с отдалечения сървър за първи път. Просто напишете да и след това натиснете .

Сега въведете паролата за отдалечения потребител (в моя случай е така корен ) и натиснете .

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

Можете също да копирате файлове от вашата локална файлова система на вашия отдалечен сървър с rsync.

В по -ранния пример сте направили резервно копие на /www директория на отдалечения сървър. Сега, да речем, някои от файловете в отдалечения сървър са повредени и искате да ги възстановите от архива.

За да направите това, изпълнете командата rsync, както следва:

$rsync-avzh /mnt/myusb/www/корен@www.example1.com:/www

Сега въведете паролата на вашия отдалечен сървър и натиснете .

Файловете трябва да бъдат копирани от вашата локална файлова система на отдалечения сървър.

Приемане на допълнителни резервни копия с rsync:

В този тип архивиране, източник и дестинация директориите се поддържат в синхрон. Ако към източник директория, той е добавен към дестинация директория също. По същия начин, ако има файл или директория от източник директория е премахната, тя е премахната от дестинация директория също.

rsync е чудесен инструмент за вземане на допълнително архивиране.

Да кажем, че имате директория ~/облак във вашия потребител У ДОМА директория. Сега искате да направите постепенно архивиране на директорията на USB флаш устройство, монтирано на пътя / mnt / usb1 на отдалечен сървър backup.example.com .

ЗАБЕЛЕЖКА: Трябва да имаш openssh-сървър и rsync пакети, инсталирани на вашия отдалечен сървър, за да работи.

За да направите допълнително архивиране на ~/облак , изпълнете следната команда:

$rsync-avzh --Изтрий -прогрес~/облак/шовон@backup.example.com:/mnt/usb1/архивиране

Сега въведете паролата за вашия отдалечен потребител и натиснете .

Съдържанието на ~/облак директория трябва да се копира в USB флаш устройството на отдалечения сървър.

Както можете да видите, всички файлове се копират на USB флаш устройството, монтирано на отдалечения сървър за архивиране.

Сега нека премахнем файл от локалната файлова система и да видим какво ще се случи.

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

Сега използвайте rsync, за да синхронизирате директориите отново със същата команда като преди.

$rsync-avzh --Изтрий -прогрес~/облак/шовон@backup.example.com:/mnt/usb1/архивиране

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

Къде да отидете по -нататък:

Можете да намерите повече информация за rsync в страницата за управление на rsync. Началната страница на rsync има подробно описание на всички опции на rsync. Горещо ви препоръчвам да проверите това.

Можете да получите достъп до страницата за управление на rsync със следната команда:

$човекrsync

Така че, по този начин използвате rsync, за да копирате файлове и да правите допълнителни резервни копия в Ubuntu. Благодаря, че прочетохте тази статия.