rsync - це потужна утиліта для синхронізації та передавання файлів, яка часто використовується на серверах, включно з віртуальними приватними серверами (VPS). Вона дає змогу ефективно копіювати та синхронізувати файли й каталоги між локальними та віддаленими системами.
Основні характеристики rsync
- Інкрементальна синхронізація: rsync передає тільки змінені частини файлів, що значно скорочує обсяг переданих даних і час, необхідний для синхронізації.
- Підтримка SSH: rsync може використовувати SSH для безпечної передачі даних, що робить його ідеальним для роботи з віддаленими серверами.
- Гнучкість: утиліта підтримує безліч опцій і параметрів, даючи змогу користувачам налаштовувати процес синхронізації відповідно до їхніх потреб (наприклад, виключення певних файлів або каталогів, зміна прав доступу тощо).
- Копіювання локально і віддалено: rsync може використовуватися як для копіювання файлів між локальними директоріями, так і для синхронізації файлів між локальною машиною і віддаленим сервером.
- Підтримка резервного копіювання: часто використовується для створення резервних копій даних завдяки своїй здатності ефективно копіювати тільки змінені файли.
Часто використовувані опції
-a(archive): містить безліч опцій для збереження атрибутів файлів (права доступу, тимчасові мітки тощо).-v(verbose): виводить детальну інформацію про процес.-z(compress): стискає дані під час передачі.--delete: видаляє файли в цільовому каталозі, яких немає у вихідному каталозі.--exclude: виключає зазначені файли або каталоги з копіювання.
Ці приклади та опції допоможуть вам почати роботу з rsync і використовувати його для ефективної синхронізації файлів і каталогів.
Компоненти синтаксису:
- опції: додаткові параметри, які змінюють поведінку команди. Наприклад, можна вказати, щоб rsync працював у режимі архівування, виводив детальну інформацію тощо.
- джерело: шлях до файлів або каталогів, які ви хочете скопіювати або синхронізувати. Це може бути локальний шлях або віддалений шлях (у форматі
user@host:/path/to/source) - призначення: шлях, куди будуть скопійовані файли або каталоги. Це також може бути локальний шлях або віддалений шлях.
Приклади використання
Копіювання локального каталогу в інший локальний каталог:
rsync -av /path/to/source/ /path/to/destination/
Копіювання локального каталогу на віддалений сервер:
rsync -av /path/to/local/dir/ user@remote_host:/path/to/remote/dir/
Копіювання з віддаленого сервера на локальну машину:
rsync -av user@remote_host:/path/to/remote/dir/ /path/to/local/dir/
Синхронізація з виключенням певних файлів:
rsync -av --exclude='*.tmp' /path/to/source/ /path/to/destination/
rsync - це дуже корисний інструмент для адміністраторів серверів і розробників, який спрощує процес передавання та синхронізації файлів. Його ефективність і гнучкість роблять його одним із найпопулярніших рішень для резервного копіювання та керування файлами на VPS та інших серверах.
