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 необхідно буде створити ключ і завантажити його на сервер, щоб аутентифікація проходила без запиту пароля.

Створюємо ключ:

$ Ssh-keygen -t rsa

Завантажуємо ключ на сервер до з яким збираємося синхронізуватися:

$ Crontab -e
Поділися в соціальних мережах:

Схожі
Як передати фото з комп`ютера на iphone або ipadЯк передати фото з комп`ютера на iphone або ipad
Команда cat linuxКоманда cat linux
Кращі хмарні сервіси 2016Кращі хмарні сервіси 2016
Як відкрити текстовий файл linuxЯк відкрити текстовий файл linux
FoldersyncFoldersync
Програми резервного копіювання linuxПрограми резервного копіювання linux
Копіювання файлів scpКопіювання файлів scp
Програма shareit для передачі файлів на телефони і комп`ютериПрограма shareit для передачі файлів на телефони і комп`ютери
Myрhoneexplorer clientMyрhoneexplorer client
Типи файлів в linuxТипи файлів в linux
» » Rsync приклади синхронізації