В тази статия ще ви покажа как да използвате командата 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 ~ / Downloads / mnt / myusb
Както можете да видите, цялата директория се копира на USB палеца.
Отново, ако искате да копирате всички файлове от ~ / Изтегляния директория в друга директория (да кажем mydownloads /) на вашето USB устройство с палеца стартирайте rsync, както следва:
$ rsync -avzh ~ / Downloads / mnt / myusb / mydownloads
Както можете да видите, файловете са правилно копирани в USB палеца.
Архивиране на отдалечени файлове и директории с rsync:
С rsync можете да копирате файлове и директории от отдалечен сървър във вашата локална файлова система или USB устройство за палеца за архивиране. Можете също да копирате файлове и директории от вашата локална файлова система на вашия отдалечен сървър за архивиране. rsync използва SSH за копиране на файлове и директории към / от отдалечен сървър.
Трябва да имате SSH сървърен пакет (openssh-сървър на Ubuntu) и rsync пакет, инсталиран на отдалечения сървър, ако искате да използвате rsync за целите на архивиране на файлове.
Да приемем например, че искате да копирате цялото съдържание (включително директорията) на / www директория от вашия отдалечен сървър www.пример1.com към вашето USB устройство за палеца, монтирано на пътеката / mnt / myusb на вашата локална файлова система.
За да направите това, можете да използвате следната команда rsync:
$ rsync -avzh корен @ www.пример1.com: / www / mnt / myusbЗАБЕЛЕЖКА: Тук, корен е отдалеченото потребителско име, www.пример1.com е DNS името на отдалечения сървър и / www е път на директория на отдалечения сървър. Можете също да използвате IP адреса на отдалечения сървър вместо DNS име, ако искате.
Може да видите следното съобщение, ако се свързвате с отдалечения сървър за първи път. Просто въведете да и след това натиснете
Сега въведете паролата за отдалечения потребител (в моя случай това е корен) и натиснете
Всички файлове и директории в / www директория, включително директорията / www трябва да се копират на USB палеца, както можете да видите на екранната снимка по-долу.
Можете също да копирате файлове от вашата локална файлова система на отдалечения сървър с rsync.
В предишния пример сте направили резервно копие на / www директория на отдалечения сървър. Да кажем, че някои от файловете в отдалечения сървър са повредени и искате да ги възстановите от архива.
За да направите това, изпълнете командата rsync, както следва:
$ rsync -avzh / mnt / myusb / www / root @ www.пример1.com: / www
Сега въведете паролата на вашия отдалечен сървър и натиснете
Файловете трябва да бъдат копирани от вашата локална файлова система на отдалечения сървър.
Вземане на допълнителни резервни копия с rsync:
При този тип архивиране, източник и дестинация директориите се поддържат в синхрон. Ако някой файл е добавен към източник директория, тя се добавя към дестинация директория също. По същия начин, ако има файл или директория от източник директорията е премахната, тя е премахната от дестинация директория също.
rsync е чудесен инструмент за вземане на допълнително архивиране.
Да кажем, че имате директория ~ / облак във вашия потребител У ДОМА директория. Сега искате да направите допълнително архивиране на директорията на USB устройство с палеца, монтирано на пътя / mnt / usb1 на отдалечен сървър архивиране.пример.com.
ЗАБЕЛЕЖКА: Трябва да имаш openssh-сървър и rsync пакети, инсталирани на вашия отдалечен сървър, за да работи това.
За да направите допълнително архивиране на ~ / облак, изпълнете следната команда:
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.пример.com: / mnt / usb1 / backup
Сега въведете паролата за вашия отдалечен потребител и натиснете
Съдържанието на ~ / облак директория трябва да се копира на USB палеца на отдалечения сървър.
Както можете да видите, всички файлове се копират в USB палеца, монтиран на отдалечения сървър за архивиране.
Сега нека да премахнем файл от локалната файлова система и да видим какво ще се случи.
$ rm ~ / облак / пакети.текст
Сега използвайте rsync, за да синхронизирате директориите отново със същата команда като преди.
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.пример.com: / mnt / usb1 / backup
Както можете да видите, файлът пакети.текст се премахва и от USB палеца, монтиран на отдалечения сървър за архивиране.
Къде да отидем нататък:
Можете да намерите повече информация за rsync в ръководството на rsync. Страницата на rsync съдържа подробно описание на всички опции на rsync. Силно препоръчвам да проверите това.
Можете да получите достъп до ръководството на rsync със следната команда:
$ man rsync
И така, по този начин използвате rsync, за да копирате файлове и да правите инкрементални архиви на Ubuntu. Благодаря, че прочетохте тази статия.