Знижка 50%. всі плани, обмежений час. Починаючи з $2.48/mo
залишилось 10 хв
Безпека та мережа

Як використовувати Rsync у Linux? Rsync до віддаленого сервера 💻📥

Лілі Карнелл By Лілі Карнелл 10 хвилин читання Оновлено 16 квітня 2023 р
rsync на віддалений сервер

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

Що таке утиліта Rsync?

Віддалена синхронізація (Rsync) це добре відома команда Linux/Unix, яку можна використовувати для копіювання та синхронізації файлів і каталогів через віддалений доступ або локально. Використання команди Rsync дозволяє виконувати різноманітні завдання, пов’язані з даними, наприклад синхронізацію, копіювання та створення резервних копій. Крім того, ви можете віддзеркалити свою систему Linux на іншу.

Основна ідея використання Rsync для віддаленого сервера полягає в тому, щоб скористатися перевагами його швидкої передачі файлів; для перетворення даних між двома джерелами враховуються лише відмінності між ними. Іншими словами, використання команди Rsync допоможе вам уникнути втрати часу на сліпу передачу даних, оскільки вона лише враховує відмінності між двома системами Linux.

Навіщо використовувати Rsync?

Як ви, можливо, вже знаєте, доступні різні інструменти резервного копіювання. Питання в тому, що робить інструмент Rsync унікальним у порівнянні з іншими утилітами чи командами?

Наприклад, ви можете використовувати Протокол передачі файлів (FTP) мати локальну копію вашого веб-сайту або SCP (протокол безпечного копіювання) для цього завдання. Однак ці два мають недоліки. FTP не включає шифрування даних, на що ми не сподіваємося, і хоча SCP не має проблем із незашифрованим передаванням, як FTP, все одно для передачі потрібно більше часу, оскільки для цього створюється тунель.

Таким чином, як альтернативне вирішення цих проблем, ми можемо використовувати Rsync для віддаленого сервера з шифруванням на основі ключа (просто називається Rsync SSH або Rsync через SSH), яке запобігає надсиланню дубльованих даних і використовує ключ SSH. Слід також зауважити, що Rsync використовує стиснення та розпакування для отримання та надсилання даних, що призводить до меншого використання пропускної здатності.

Як встановити Rsync?

Можливо, у вашій системі вже встановлено Rsync; тим не менш, давайте розберемося в деталях. Перш ніж це зробити, будь ласка, зверніть увагу, що SSH має бути вже встановлено як у вихідній, так і в системі призначення, оскільки ми хочемо використовувати Rsync через SSH.

Крок 1: перевірка версії SSH

Ви можете перевірити версію SSH за допомогою такої команди:

ssh -V

Для Rsync на віддаленому сервері вам знадобиться локальний сервер, він же джерело, і віддалений сервер. Ви також повинні переконатися, що локальний сервер має права адміністратора (sudo).

Крок 2: Встановлення Rsync Linux

Наступна команда дозволить вам інсталювати Rsync на Ubuntu, Linux Mint і Debian:

sudo apt install rsync -y

Якщо ви використовуєте інші дистрибутиви Linux, як-от Fedora, CentOS, AlmaLinux і Red Hat, введіть таку команду, щоб установити службу Rsync на віддалений сервер у вашій системі:

sudo dnf install rsync

Примітка: apt — це корисний інструмент встановлення пакунків, який використовується в дистрибутивах на основі Debian.

Крок 3: Запуск Rsync

Тепер вам потрібно запустити, а потім увімкнути Rsync, щоб почати використовувати його за допомогою таких команд:

sudo systemctl start rsync 
sudo systemctl enable rsync

Крок 4: перевірка інсталяції Rsync

Введіть наступну команду, щоб перевірити, чи правильно ви встановили Rsync і перевірити, яку версію ви використовуєте у своїй системі Linux:

rsync --version

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

Як створити резервні копії за допомогою Rsync через SSH?

Створення інкрементних резервних копій є одним із випадків використання Rsync через SSH. Будь ласка, зверніть увагу на наступну команду, щоб зрозуміти, як вона працює:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Виконання наведеної вище команди допоможе вам синхронізувати sourceDir і Напрям призначення. Ця команда містить інші параметри, з якими ви повинні бути знайомі, наприклад -a (архів) і -v (дослівно). Зауважте, що -e ssh параметр вимагає, щоб підключення Rsync було через протокол SSH.

Якщо ви хочете SSH з'єднання щоб бути прийнятим через порт, відмінний від порту за замовчуванням (порт 22), потрібно вказати номер порту після -e ssh. Перегляньте наступну команду, щоб зрозуміти, як вона працює.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

У наведеній вище команді ми припускаємо, що ми хочемо використовувати 1998 як порт SSH, а не 22.

Rsync до віддаленого сервера через SSH має інші параметри, які можуть бути дуже корисними. Наприклад, використовуючи – частковий опція дає змогу продовжити попередню часткову передачу у разі таких проблем, як переривання Rsync. Ви також можете дізнатися про поточний хід передачі файлу за допомогою – прогрес варіант. Крім того, утиліта Linux Rsync для віддаленого сервера дозволяє використовувати ці дві функції одночасно. Для цього ви можете використовувати -p прапорець у командному рядку.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

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

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

Як використовувати Rsync для локальної синхронізації?

Перш ніж ми заглибимося в локальну синхронізацію та як використовувати для неї команду Rsync, вам слід знати загальну структуру локальної синхронізації, яка показана нижче:

rsync [options] [Source] [Destination]

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

Припустімо, ми хочемо синхронізувати або скопіювати файл із каталогу робочого столу (так званого Cloudzy) до /головна/Громадський папка; ось що потрібно ввести:

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

Наведена вище команда Rsync містить три параметри, як -звх; за допомогою -z, ваш файл буде стиснутий під час передачі. v варіант означає багатослівний вивід, а h варіант це те, що допомагає нам читати вихідні дані як люди, тобто відображати вихідні дані, зрозумілі людині.

Копіювання каталогів локально

Якщо ми хочемо скопіювати каталог робочого столу (називається Cloudzy) до /головна/Громадський папка; вам потрібно ввести команду нижче:

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

The -a Параметр у цій команді архівує каталоги та файли під час синхронізації.

Ви можете швидко перевірити список каталогів цільової папки, щоб перевірити, чи скопійовано каталог чи ні. Для цього скористайтеся такою командою:

ls -ld /home/Public

Синхронізація файлів і каталогів рекурсивно та локально (рекурсивний Rsync)

Що робити, якщо в /desktop/Cloudzy, і ви хотіли скопіювати їх рекурсивно за допомогою команди Linux Rsync?

У цьому випадку ви використовуєте -r варіант для рекурсивної синхронізації локальних файлів і каталогів. Ви також можете використовувати параметр архіву (-a) оскільки він має інші випадки використання, наприклад рекурсивне копіювання. Перегляньте наступну команду, щоб ознайомитися з рекурсивними командами Rsync.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

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

Окрім характеристик Linux Rsync для віддаленого сервера, про які ми згадували в попередніх розділах, ця добре відома команда також дозволяє синхронізувати файли та каталоги з локальної машини на віддалену систему.

Припустімо, ми хочемо скопіювати папку (/desktop/Cloudzy/нова папка) з локальної машини на віддалену систему (з 192.168.1.79) під /mycpt; ось приклад, який показує, як це працює:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

Як скопіювати каталоги без файлів за допомогою Rsync?

У деяких випадках ми можемо захотіти використовувати можливості Linux Rsync для віддаленого сервера для копіювання каталогів без файлів; ця синхронізація може відбуватися з віддаленої машини на локальну систему або навпаки.

У цій статті ми використовували віддалену систему в 192.168.1.79. Припустимо, ми маємо це під /mycpt і хочете скопіювати папку /desktop/Cloudzy каталог з локальної системи без включення його файлів. Для цього введіть команду нижче:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

Інші корисні команди Rsync

Тут ми обговоримо деякі додаткові команди Linux Rsync, які можуть бути практичними для вас.

Визначте максимальний розмір для передачі файлів у Rsync

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

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Визначте мінімальний розмір для передачі файлів у Rsync

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

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

Видаліть файли з джерела після завершення синхронізації

Коли ви закінчите використовувати команду Rsync, можливо, вам більше не знадобиться мати файл у вихідній системі. У цьому випадку ви можете скористатися командою Linux Rsync, як показано нижче, щоб видалити файли з джерела:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Синхронізація сухого ходу

Якщо ви вперше використовуєте утиліту Linux Rsync і не знайомі з її параметрами, a сухий біг це правильний шлях. Коли ви використовуєте сухий запуск із Rsync, він не змінюватиме файли, але показує результат команди. Переконавшись, що ви хочете виконати команду, ви можете видалити –сухий хід з нього та виконайте його на терміналі. Подивіться на наступну команду, щоб дізнатися більше про функцію сухого запуску.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Повторення: Використання команд Linux Rsync

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

Linux VPS хостинг

Отримайте собі економний або преміальний Linux VPS для розміщення вашого веб-сайту або віддаленого робочого столу за найнижчою ціною. VPS працює на Linux KVM для підвищення ефективності та працює на потужному апаратному забезпеченні з накопичувачем NVMe SSD для збільшення швидкості.

Детальніше

Ви можете максимально використати цю операційну систему, отримавши a Linux VPS рішення від Cloudzy, яке дає вам змогу скористатися перевагами планів хостингу на основі KVM. Ми з гордістю пропонуємо вам високопродуктивні послуги VPS із часом безвідмовної роботи 99,95%, стабільністю, мінімальною затримкою, всесвітніми центрами обробки даних (12 локацій), надшвидким накопичувачем SSD і цілодобовою технічною підтримкою. Ви можете почати використовувати свій Linux VPS за $4,95 і масштабувати його, якщо вам потрібне більш просунуте рішення.

FAQ

Який порт TCP використовує Rsync?

SSH зазвичай використовує порт 22 як порт за замовчуванням. Таким чином, якщо використовувати rsync через SSH, він працюватиме на цьому конкретному порту. З іншого боку, під час використання демона Rsync використовуватиметься порт 873.

Що таке Rsync?

Rsync — це утиліта Linux, яка може синхронізувати файли та каталоги віддалено або локально. Використання команди Rsync дозволяє виконувати різноманітні завдання, пов’язані з даними, наприклад синхронізацію, копіювання та створення резервних копій.

Поділіться

Більше з блогу

Продовжуйте читати.

Титульне зображення Cloudzy для посібника з використання MikroTik L2TP VPN, на якому показано ноутбук, який підключається до серверної стійки через цифровий тунель, що світиться синім і золотистим, із значками на щиті.
Безпека та мережа

Налаштування MikroTik L2TP VPN (з IPsec): RouterOS Guide (2026)

У цьому налаштуванні MikroTik L2TP VPN L2TP обробляє тунелювання, а IPsec обробляє шифрування та цілісність; їх поєднання забезпечує сумісність із нативним клієнтом без використання сторонніх розробників

Рекса СайрусРекса Сайрус 9 хвилин читання
У вікні терміналу відображається повідомлення SSH-попередження про зміну ідентифікації віддаленого хоста, із заголовком Fix Guide та брендом Cloudzy на темно-блакитному тлі.
Безпека та мережа

Попередження: ідентифікація віддаленого хоста змінилася та як це виправити

SSH — це безпечний мережевий протокол, який створює зашифрований тунель між системами. Він залишається популярним серед розробників, яким потрібен віддалений доступ до комп’ютерів, не вимагаючи графіки

Рекса СайрусРекса Сайрус 10 хвилин читання
Ілюстрація посібника з усунення несправностей сервера DNS із попереджувальними символами та синім сервером на темному тлі для помилок розпізнавання імен Linux
Безпека та мережа

Тимчасовий збій у розпізнаванні імен: що це означає та як це виправити?

Під час використання Linux ви можете зіткнутися з тимчасовою помилкою розпізнавання імен під час спроб отримати доступ до веб-сайтів, оновити пакети або виконати завдання, які вимагають підключення до Інтернету

Рекса СайрусРекса Сайрус 12 хв читання

Готові до розгортання? Від $2,48/міс.

Незалежна хмара, з 2008 року. AMD EPYC, NVMe, 40 Гбіт/с. 14-денне повернення грошей.