rsync

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

Как да използвам rsync за копиране на файлове
Rsync е инструмент за команден ред в Linux, който се използва за копиране на файлове от местоположението на източника до местоназначението. Можете да копирате файлове, директории и цялата файлова система и да поддържате синхронизация на файловете между различни директории. Той прави повече от просто копиране на файловете. Той намалява количеството данни, изпратени по мрежата, като изпраща само файловете, които са нови или актуализирани. Ето защо се счита за чудесна програма за копиране и архивиране на файлове. Rsync също поддържа копиране на файлове в отдалечена система през SSH.

В тази статия ще обясним как да използваме rsync за копиране на файлове с някои практически примери. Също така ще обясним използването на rsync при копирането на един файл, множество файлове и директория както на локални, така и на отдалечени системи. Ще разгледаме как да използваме Rsync за:

Обяснихме командите и процедурата, споменати в тази статия за Ubuntu 20.04 LTS. Ще ви е необходим терминал от командния ред за копиране на файлове с помощта на rsync. За да отворите приложението Terminal на командния ред, използвайте клавишната комбинация Ctrl + Alt + T.

Инсталиране на Rsync

Rsync се предлага предварително инсталиран в Ubuntu 20.04 LTS. Ако обаче случайно бъде премахнат от системата, можете да го инсталирате по следния начин:

$ sudo apt инсталиране rsync

Ето някои от често използваните опции, които могат да се използват с rsync:

-a: архивен режим
-v: показва подробности за процеса на копиране
-p: показва лентата за напредъка
-r: копира данни рекурсивно
-z: компресира данни
-q: потискане на изхода

Копирайте файлове и директории локално

Общият синтаксис на rsync е:

$ rsync [опция] [източник] [дестинация]

Копирайте един файл локално

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

Например, за да копирате един файл „file1.txt ”от текущото местоположение, което е Начална директория до ~ / Документи, командата ще бъде:

$ rsync / home / tin / file1.txt / home / tin / Documents

Забележка: Вместо “/ home / tin / file1.txt ”, можем да напишем и„ file1 ”, тъй като в момента работим в домашната директория. Също така можем да използваме ~ / Documents, вместо да споменаваме пълния път като „/ home / tin / Documents“.

Копирайте множество файлове локално

Ако искате да копирате няколко файла наведнъж от едно място на друго в системата си, можете да го направите, като въведете rsync последвано от името на изходните файлове и целевата директория.

Например, за да копирате файловете „file2.txt “и„ файл3.txt ”от директорията Home до директорията ~ / Documents, командата ще бъде:

$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Documents

За да копирате всички файлове с едно и също разширение, можете да използвате звездичка (*), вместо да посочвате имената на файловете поотделно. Например, за да копирате всички файлове от началната директория, завършваща с „.zip ”към директорията ~ / Documents, ще използваме:

$ rsync / home / tin / *.zip ~ / Документи

Копирайте директории локално

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

Например, за да копирате директорията „sample“ в директорията „test /“ в директорията Home, командата ще бъде:

$ rsync -av / home / tin / sample / home / tin / test

Забележка: Посочването на „/“ след директорията източник копира само съдържанието на директорията. Ако не посочим „/“ след директорията източник, директорията източник също ще бъде копирана в директорията дестинация.

Както в следващия изход, можете да видите, че нашата изходна директория “sample” също се копира в директорията на местоназначението (тъй като ние използвахме “sample” вместо “sample /” като изходна директория).

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

Копирайте файлове въз основа на максимален размер

Докато копираме, можем да посочим и максималния размер на файловете, които могат да бъдат копирани с опцията “-max-size”. Например, за да копирате файловете не по-големи от 2000k от ~ / Downloads в ~ / Documents директория, командата ще бъде:

$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / Documents

Тази команда ще копира всички файлове от ~ / Downloads в ~ / Documents directory, с изключение на тези, по-големи от 2000k.

Копирайте файлове въз основа на минимален размер

По същия начин можем да посочим и минималния размер на файловете, които могат да бъдат копирани с опцията “-min-size”. Например, за да копирате файловете не по-малко от 5M от ~ / Downloads в ~ / Documents директория, командата ще бъде:

$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / Documents

Тази команда ще копира всички файлове от ~ / Downloads в директория ~ / Documents, с изключение на тези, по-малки от 5M.

Изключване на файлове

Докато копирате файлове от една директория в друга, можете да изключите някои файлове, като използвате опцията “-exclude”, последвана от името на файла или разширението на типа файл.

Например, за да изключите всички .zip файлове при копиране на файлове от ~ / Downloads в ~ / Documents директория, командата ще бъде:

$ rsync -a --exclude = "*.zip "/ home / tin / Downloads / / home / tin / Documents

Копирайте файлове и директории от разстояние

С Rsync можете да копирате един файл, множество файлове и директории в отдалечена система. За дистанционно копиране на файлове и директории ще ви е необходимо:

Преди да копирате файлове с помощта на rsync, уверете се, че имате достъп до отдалечената система чрез SSH:

$ ssh remote_user @ remote_ip


Общият синтаксис за копиране на файлове и директории в отдалечена система с помощта на rsync:

$ rsync [опция] [източник] [remoteuser @ remoteip: местоназначение]

Например да копирате един файл „файл.txt ”от ~ / Downloads в отдалечена система ~ / директория Documents, командата ще бъде:

$ rsync -v ~ / Downloads / file1.txt umara @ 192.168.72.164: ~ / Документи

По същия начин, за да копирате директорията “~ / Downloads / files” в локална система с нейната поддиректория и цялото съдържание в директорията “~ / Downloads / sample” на отдалечената система:

$ rsync -rv ~ / Downloads / files umara @ 192.168.72.164: ~ / Изтегляния / проби

Можете също да копирате файловете и директориите от отдалечената машина на вашата локална машина. Например да копирате „файл2.txt ”от отдалечената система към работния плот на локалната система:

$ rsync -v umara @ 192.168.72.164: ~ / Изтегляния / файл2.txt ~ / работен плот /

По същия начин да копирате директория от отдалечената система в локалната система

$ rsync -rv umara @ 192.168.72.164: ~ / Downloads / sample ~ / Desktop / test

Можете също да използвате всички опции като -max-size, -min-size, -exclude и други, докато копирате файлове в / от отдалечената система.

Rsync е чудесен инструмент за копиране на файлове от източник до местоназначение или локално, или отдалечено. Той включва голям набор от опции, които ви дават гъвкавост и контрол при прехвърляне на файлове към / от отдалечената система.

Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...