Rsync приклади синхронізації
Потреба передачі файлів між серверами і комп`ютерами виникає досить часто, особливо при адмініструванні декількох пристроїв. Зазвичай для цих цілей зручно використовувати ssh і scp, але якщо файл дуже великий, а змінена була тільки невелика його частина, або ви хочете налаштувати постійну автоматичну синхронізацію, то scp вже явно недосконалий варіант. Для цього існують спеціальні утиліти. У цій статті ми розглянемо одну з них. А саме буде розглянута rsync синхронізація в linux.
Rsync - це програмне забезпечення з відкритим вихідним кодом, яке можна використовувати для синхронізації файлів і папок з локального комп`ютера на віддалений і навпаки. Примітна особливість Rsync - можливість передавати зашифровані файли за допомогою SSH і SSL. Крім того, тут передача файлів виконується в один потік, на відміну від інших подібних програм, створює окремий потік для передачі кожного файлу. Це збільшує швидкість і прибирає додаткові затримки, які стають проблемою при передачі великої кількості маленьких файлів.
Можливе використання rsync для синхронізації файлів, каталогів, при цьому може застосовуватися стиснення і шифрування. Програма вперше була застосована в червні 1996 року, вона розроблена Ендрю Трідгелом і Полом Маккеррасом. Rsync синхронізація виконується по протоколу RSYNC, який спеціально розроблений не просто для передачі файлів між двома комп`ютерами, а для їх синхронізації. Якщо точніше, то передається не файл повністю, а тільки те, що було змінено.
Як ви вже зрозуміли, в цій статті ми розглянемо rsync приклади синхронізації, настройку rsync, а також її основні можливості і опції.
особливості Rsync
Давайте спочатку розглянемо примітні особливості Rsync:
- Можливість підтримувати синхронізацію цілих дерев каталогів
- Можна зберігати символічні посилання, жорсткі посилання, власників і права файлу, метадані та час створення.
- Не потребує особливих привілеїв
- Передача файлів одним потоком
- Підтримка RSH, SSH в якості транспорту
- Підтримка анонімного Rsync
синтаксис Rsync
Ми не будемо детально зупинятися на установці цієї утиліти в системі. Вона дуже популярна, тому ви можете встановити її за допомогою свого пакетного менеджера з офіційних репозиторіїв. В Ubuntu команда установки буде виглядати ось так:
Відео: rsync - Backup and Sync Files - Linux CLI
$ Sudo vi /etc/rsyncd.conf$ Sudo service rsyncd start $ rsync -zvh file / tmp / backups /
Синхронізація папок на локальній машині
Відео: Rsync - блискавичний Деплой середніх і великих проектів (gulp-rsync)
Синхронізація папок rsync виконується так само просто, як і файлів:
$ Rsync -avz documents / [email protected]: / home /Також саме можна синхронізувати файли з rsync з віддаленого сервера:
$ Rsync -avzhe ssh [email protected]: /root/install.log / tmp /А тепер передамо дані на той же сервер:
$ Rsync -avzhe ssh --progress / home / user / documents [email protected]: / root / documentsСинхронізація не всіх файлів в rsync
Опції include і exclude дозволяють вказати які файли потрібно синхронізувати, а які вилучити. Опції працюють не тільки з файлами але і з директоріями.
Наприклад, скопіюємо всі файли, що починаються на букву R:
$ Rsync -avz --delete [email protected]: / documents / / tmp / documents /Якщо перед виконанням цієї команди створити в папці файл якого немає на віддаленому сервері, то він буде знищений.
Максимальний розмір файлів
Ви можете вказати максимальний розмір файлів, які потрібно синхронізувати. Для цього використовується опція --max-size. Наприклад, будемо синхронізувати тільки файли менше 200 кілобайт:
$ Rsync --remove-source-files -zvh backup.tar / tmp / backups /Таким чином, файл backup.tar буде видалений після завершення копіювання в папку / tmp / backups.
Режим симуляції rsync
Якщо ви новачок, і ще не використовували rsync, то можливо захочете подивитися як відпрацює команда без застосування реальних дій в файлової системі. Для цього є опція dry-run. Команда тільки виведе всі виконувані дії в термінал, без виконання реальних змін:
$ Rsync --bwlimit = 100 -avzhe ssh / user / home / documents / [email protected]: / root / documents /Як я вже писав вище, rsync синхронізує тільки частини файлу, якщо ви хочете синхронізувати файл цілком використовуйте опцію -W:
backup.tar
Автоматична синхронізація папок rsync
Можна розписати автоматичну синхронізацію за допомогою cron. Але в разі доступу до сервера по SSH необхідно буде створити ключ і завантажити його на сервер, щоб аутентифікація проходила без запиту пароля.
Створюємо ключ:
Завантажуємо ключ на сервер до з яким збираємося синхронізуватися:
$ Crontab -e
Myрhoneexplorer client
Foldersync
Програми резервного копіювання linux
Filezilla ftp client - безкоштовний ftp клієнт для linux і windows.
Програма shareit для передачі файлів на телефони і комп`ютери
Кращі хмарні сервіси 2016
Як правильно налаштувати установку дати і часу через інтернет.
Як відкрити текстовий файл linux
Як передати фото з комп`ютера на iphone або ipad
Як синхронізувати itunes з iphone і ipod
Як синхронізувати дані через itunes
Команда tftp - обмін файлами по протоколу tftp
Архівування файлів в linux
Команда replace - замінити або додати файл в каталог.
Налаштування nfs в ubuntu 16.04
Підключення пристрою linux
Типи файлів в linux
Клієнти google drive в linux
Копіювання файлів scp
Команда cat linux
Передача файлів по ftp
Як передати фото з комп`ютера на iphone або ipad
Команда cat linux
Кращі хмарні сервіси 2016
Foldersync
Програми резервного копіювання linux
Копіювання файлів scp
Програма shareit для передачі файлів на телефони і комп`ютери
Myрhoneexplorer client
Типи файлів в linux