- Копіювання файлів локально (локальне копіювання файлів Rsync)
- Каталоги Rsync (папка Rsync до папки)
- Синхронізація папки з локального сервера на віддалений
- Синхронізація каталогів з локального сервера на віддалений
- Rsync через SSH
- Копіювання файлу з віддаленого сервера на локальний сервер за допомогою SSH (Rsync на віддалений сервер)
- Display Progress During Rsync Folders and Files Transfer
- Включення та виключення файлів у Rsync
- Використання опції --delete в Rsync
- Обмеження розміру файлів для передачі в Rsync
- Автоматичне видалення вихідних файлів після передачі
- Виконайте пробний запуск за допомогою Rsync
- Rsync: встановлення обмеження на передачу файлів та пропускну здатність
- Host World
- Компанія
- Блог
- Операційна система, ОС
- Linux
- Як використовувати команду Rsync в Linux? (Приклади використання Rsync)
Як використовувати команду Rsync у Linux?
-
4 min читати
-
253
Rsync, скорочення від «remote sync» (віддалена синхронізація), — це інструмент, призначений для локальної та віддаленої синхронізації файлів. Він ефективно передає дані, виявляючи та копіюючи лише змінені частини файлів, а не весь файл, що зменшує обсяг переданих даних і підвищує швидкість.
Команда rsync дозволяє копіювати та синхронізувати дані як локально, так і віддалено між різними каталогами, пристроями зберігання даних та мережами. Вона зазвичай використовується для резервного копіювання даних та дзеркального відображення між двома системами Linux. Rsync входить до складу більшості сучасних дистрибутивів Linux, тому додаткова інсталяція не потрібна.
У цьому посібнику ми продемонструємо основні та просунуті способи використання команди rsync для передачі файлів як локально, так і віддалено в системах Linux. Ви можете запускати rsync без прав суперкористувача.
Синтаксис Rsync
Основний синтаксис rsync наведено нижче:
rsync [OPTIONS] SOURCE DESTINATION
Тут ви вказуєте параметри разом із шляхами джерела та призначення для передачі файлів.
Як використовувати команду Rsync? (Приклади Rsync)
Нижче ми перелічили типові випадки використання команди rsync:
Копіювання файлів локально (локальне копіювання файлів Rsync)
За допомогою команди rsync ви можете передавати або синхронізувати файл у межах однієї системи. Це дозволить скопіювати певний файл з одного каталогу в інший.
Наприклад, щоб скопіювати файл «example.text» до папки /testfilesDirectory/:
$ rsync -zvh example.text /testfilesDirectory/
Якщо папка призначення не існує, rsync автоматично створить її.
Каталоги Rsync (папка Rsync до папки)
Наступна команда копіює або синхронізує всі файли з одного каталогу в інший на тій самій системі. Наприклад, скопіюйте каталог ‘/testfilesDirectory/’, що містить текстовий файл, до каталогу ‘test’.
$ rsync -avzh /testfilesDirectory/ test
Синхронізація папки з локального сервера на віддалений
Щоб перенести каталог з локальної системи на віддалений сервер, скористайтеся наступною командою. Наприклад, щоб синхронізувати папку /testfilesDirectory/, що містить текстові файли, з вашого локального комп'ютера на віддалений сервер, скористайтеся цією командою:
# rsync -avzh /testfilesDirectory/ root@remote-ip-address:/root/
Синхронізація каталогів з локального сервера на віддалений
Щоб синхронізувати каталог з віддаленого сервера на локальний комп'ютер, скористайтеся цією командою. Наприклад, скопіюйте каталог «/testfilesDirectory/» з віддаленого сервера в «/test/» на вашій локальній системі.
$ rsync -avzh root@remote-server-ip:/testfilesDirectory/ /test
Rsync через SSH
За допомогою rsync ви можете безпечно передавати дані через SSH, забезпечуючи шифрування та захист конфіденційної інформації під час передачі. Використання SSH також захищає облікові дані для входу.
Щоб використовувати rsync з SSH, додайте опцію -e:
$ rsync [OPTIONS] -e ssh /source-path/ user@remote:/destination-path
Копіювання файлу з віддаленого сервера на локальний сервер за допомогою SSH (Rsync на віддалений сервер)
Щоб перенести файл з віддаленого сервера на локальний комп'ютер за допомогою SSH, вкажіть опцію -e разом із ssh.
$ rsync -avzhe ssh root@remote-ip:/root/testfile.text /tmp
Display Progress During Rsync Folders and Files Transfer
To monitor file transfers in real-time, use the --progress option. This shows the files being copied and the estimated time remaining.
$ rsync -avzhe ssh --progress /testfilesDirectory root@remote-ip:/testfilesDirectory
Включення та виключення файлів у Rsync
Використовуйте опції --include та --exclude для фільтрування файлів під час передавання. Це дозволяє вказати, які файли або каталоги потрібно синхронізувати, пропускаючи інші.
Наприклад, щоб включити тільки файли та каталоги, що починаються з «R», і виключити все інше:
$ rsync -avze ssh --include 'R*' --exclude '*' root@remote-ip:/var/lib/rpm
Використання опції --delete в Rsync
Якщо файл або каталог існує в місці призначення, але не існує в джерелі, опція --delete гарантує, що він буде видалений під час синхронізації.
Наприклад, щоб синхронізувати каталоги та видалити зайві файли з місця призначення:
$ rsync -avz --delete root@destination-ip:/var/lib/rpm/ /root
Обмеження розміру файлів для передачі в Rsync
Щоб обмежити максимальний розмір файлів для передачі, використовуйте опцію --max-size. Це гарантує, що синхронізуються тільки файли зазначеного розміру або менші.
Наприклад, щоб передати файли розміром до 200 КБ:
$ rsync -avzhe ssh --max-size='200k' /var/lib/rpm/ root@destination-ip:/root/tmp
Автоматичне видалення вихідних файлів після передачі
Якщо ви хочете передати файли і потім видалити їх з вихідного джерела, використовуйте опцію --remove-source-files. Це корисно для резервного копіювання, оскільки забезпечує переміщення файлів без збереження локальних копій.
$ rsync --remove-source-files -zvh backup.tar.gz root@destination-remote-ip:/tmp/backup
Виконайте пробний запуск за допомогою Rsync
Якщо ви не знайомі з rsync або не впевнені в результаті виконання команди, ви можете скористатися опцією --dry-run. Це дозволить вам переглянути зміни без внесення будь-яких модифікацій. Коли ви будете задоволені результатом, ви можете видалити --dry-run і виконати фактичну команду.
$ rsync --dry-run --remove-source-files -zvh backup.tar.gz root@remote-ip:/tmp
Rsync: встановлення обмеження на передачу файлів та пропускну здатність
Ви можете контролювати використання пропускної здатності під час передачі файлів за допомогою опції --bwlimit у rsync. Це дозволяє встановити максимальну швидкість передачі, запобігаючи надмірному навантаженню мережі.
$ rsync --bwlimit=100 -avzhe ssh /var/lib/rpm/ root@destination-ip:/root/tmp
За замовчуванням rsync передає тільки змінені блоки та байти файлу. Однак ви можете використовувати опцію W, якщо вам потрібно синхронізувати весь файл незалежно від змін.
$ rsync -zvhW backup.tar /tmp/backups/backup.tar
Переваги команди Rsync
Використовуючи Rsync, ви можете скористатися такими перевагами:
- Ефективна передача даних: використовує алгоритм дельта для копіювання тільки змінених частин файлів, що зменшує обсяг передачі даних.
- Віддалена синхронізація: підтримує локальну та віддалену синхронізацію файлів через SSH.
- Інкрементальне резервне копіювання: передає тільки нові або змінені файли, що робить резервне копіювання більш ефективним.
- Зберігає атрибути файлів: зберігає дозволи, права власності, часові мітки та символічні посилання.
- Контроль пропускної здатності: дозволяє обмежувати використання пропускної здатності та використовує стиснення для оптимізації передачі.
- Швидкість: часто швидше, ніж SCP, особливо для великих каталогів або раніше переданих файлів.
Висновок
На цьому ми завершуємо обговорення використання команди rsync та її функцій. Щоб дізнатися більше про розширені опції та функції, зверніться до офіційних сторінок довідки (man rsync) для детальної документації.
Отримайте високопродуктивний VPS-сервер з Host-World! Оберіть один із найкращих планів VPS-хостингу, що забезпечують швидкість, безпеку та надійність. Наші хостингові рішення, що базуються на передових технологіях, гарантують безперебійну та потужну роботу в Інтернеті. Почніть вже сьогодні!
Залиште свої відгукиПоділіться своїми думками та допоможіть нам покращитися! Ваш відгук важливий для нас.