rsync

Як використовувати rsync для копіювання файлів

Як використовувати rsync для копіювання файлів
Rsync - це інструмент командного рядка в Linux, який використовується для копіювання файлів з вихідного місця в місце призначення. Ви можете копіювати файли, каталоги та всю файлову систему та синхронізувати файли між різними каталогами. Це більше, ніж просто копіювання файлів. Це зменшує обсяг даних, що надсилаються через мережу, лише надсилаючи нові та оновлені файли. Ось чому він вважається чудовою утилітою для копіювання та резервного копіювання файлів. Rsync також підтримує копіювання файлів у віддалену систему через SSH.

У цій статті ми пояснимо, як використовувати rsync для копіювання файлів, на деяких практичних прикладах. Ми також пояснимо використання rsync при копіюванні одного файлу, декількох файлів та каталогу як у локальну, так і у віддалену системи. Ми розглянемо, як використовувати Rsync для:

Ми пояснили команди та процедури, згадані в цій статті на Ubuntu 20.04 LTS. Для копіювання файлів за допомогою rsync вам знадобиться термінал командного рядка. Щоб відкрити програму терміналу командного рядка, використовуйте комбінацію клавіш Ctrl + Alt + T.

Встановлення Rsync

Rsync поставляється з попередньо встановленою версією Ubuntu 20.04 LTS. Однак, якщо він випадково видалений із системи, ви можете встановити його наступним чином:

$ sudo apt встановити rsync

Ось деякі загальновживані параметри, які можна використовувати з rsync:

-a: режим архіву
-v: показує деталі процесу копіювання
-p: показує індикатор прогресу
-r: копіює дані рекурсивно
-z: стискає дані
-q: придушити вихід

Копіюйте файли та каталоги локально

Загальним синтаксисом rsync є:

$ rsync [опція] [джерело] [призначення]

Копіюйте один файл локально

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

Наприклад, для копіювання одного файлу “file1.txt ”з поточного розташування, що є домашньою директорією, до каталогу ~ / Documents, команда буде такою:

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

Примітка: Замість “/ home / tin / file1.txt », ми також можемо ввести« файл1 », оскільки зараз ми працюємо в домашньому каталозі. Крім того, ми можемо використовувати ~ / Documents замість того, щоб згадувати повний шлях як “/ home / tin / Documents”.

Копіюйте кілька файлів локально

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

Наприклад, для копіювання файлів “file2.txt ”та“ файл3.txt ”з домашнього каталогу в каталог ~ / Documents, команда буде такою:

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

Щоб скопіювати всі файли з однаковим розширенням, ви можете використовувати символ зірочки (*) замість того, щоб окремо вказувати імена файлів. Наприклад, щоб скопіювати всі файли з домашнього каталогу, що закінчується на “.zip ”до каталогу ~ / Documents, ми будемо використовувати:

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

Копіюйте каталоги локально

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

Наприклад, щоб скопіювати каталог “зразок” до каталогу “test /” в домашньому каталозі, команда буде такою:

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

Примітка: Вказівка ​​“/” після вихідного каталогу копіює лише вміст каталогу. Якщо ми не вкажемо “/” після вихідного каталогу, вихідний каталог також буде скопійовано в каталог призначення.

Як і в наступному висновку, ви можете бачити, що наш вихідний каталог “sample” також копіюється до цільового каталогу (оскільки ми використовували “sample” замість “sample /” як вихідний каталог).

Rsync підтримує інкрементальну передачу, як ви можете бачити у наведеному вище висновку, що вона передає лише нові та оновлені файли.

Копіюйте файли на основі максимального розміру

Під час копіювання ми також можемо вказати максимальний розмір файлів, які можна скопіювати, за допомогою опції “-max-size”. Наприклад, щоб скопіювати файли розміром не більше 2000 тис. З ~ / Downloads в каталог ~ / Documents, команда буде такою:

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

Ця команда скопіює всі файли з ~ / Downloads в каталог ~ / Documents, крім файлів, що перевищують 2000k.

Копіюйте файли на основі мінімального розміру

Подібним чином ми також можемо вказати мінімальний розмір файлів, які можна скопіювати за допомогою опції “-min-size”. Наприклад, щоб скопіювати файли розміром не менше 5 М з ~ / 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 [опція] [джерело] [віддалений користувач @ віддалений номер: призначення]

Наприклад, скопіювати один файл “.txt ”з ~ / Завантаження у віддалену систему ~ / Документи Документи, команда буде такою:

$ rsync -v ~ / Завантаження / файл1.txt umara @ 192.168.72.164: ~ / Документи

Подібним чином, щоб скопіювати каталог “~ / Downloads / files” у локальній системі з його підкаталогом та усім вмістом у каталог “~ / Downloads / sample” у віддаленій системі:

$ rsync -rv ~ / Завантаження / файли umara @ 192.168.72.164: ~ / Завантаження / зразки

Ви також можете скопіювати файли та каталоги з віддаленої машини на локальну машину. Наприклад, щоб скопіювати “файл2.txt ”з віддаленої системи на робочий стіл локальної системи:

$ rsync -v umara @ 192.168.72.164: ~ / Завантаження / файл2.txt ~ / робочий стіл /

Так само скопіювати каталог із віддаленої системи в локальну систему

$ rsync -rv umara @ 192.168.72.164: ~ / Завантаження / зразок ~ / Робочий стіл / тест

Ви також можете використовувати всі параметри, такі як -max-size, -min-size, -exclude та інші під час копіювання файлів у / з віддаленої системи.

Rsync - чудовий інструмент для копіювання файлів з джерела до місця призначення як локально, так і віддалено. Він включає великий набір опцій, що надає вам гнучкість та контроль під час передачі файлів у / з віддаленої системи.

Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Кращі ігри командного рядка для Linux
Командний рядок - це не просто ваш найбільший союзник при використанні Linux, він також може бути джерелом розваг, оскільки ви можете використовувати ...