Як використовувати утиліту rsync в Linux для керування файлами по мережі
Освоєння керування файлами за допомогою rsync в Linux на прикладі ava.hosting
Керувати файлами в різних системах дуже просто за допомогою
rsync, потужної утиліти Linux для синхронізації та передачі файлів через мережу. Незалежно від того, чи створюєте ви резервну копію даних, чи дзеркалюєте каталоги, чи мігруєте файли на високопродуктивних VPS або виділених серверах ava.hosting,
rsyncгарантує ефективність, копіюючи лише зміни між джерелом та місцем призначення. Наприклад, ви можете використовувати
rsyncдля резервного копіювання файлів вашого веб-сайту , розміщеного на ava.hosting, на віддалений сервер, мінімізуючи пропускну здатність і час. Цей посібник охоплює встановлення, використання та автоматизацію
rsyncдля безперебійного керування файлами, оптимізованого для надійної інфраструктури ava.hosting.
Встановлення rsync
Більшість дистрибутивів Linux постачається з попередньо встановленим rsync. Щоб перевірити, чи його встановлено, запустіть:
rsync --version
Якщо його не встановлено, ви можете встановити його за допомогою менеджера пакунків вашого дистрибутива:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
як перенести файли з Windows на віддалений сервер за допомогою rsync через PuTTY SSH?
Щоб використовувати rsync в Windows через PuTTY SSH, потрібно мати встановлену програму:
PuTTY для підключення поSSH
rsync і OpenSSH на Windows
Агент (необов’язково) для автоматичної автентифікації за допомогою ключа SSH
Встановлення rsync у Windows за допомогою MSYS2
Якщо ви завантажили MSYS2, ви можете легко встановити rsync за допомогою pacman, менеджера пакетів MSYS2.
- Оновлення MSYS2 та наявних пакунків
У терміналі MSYS2 запустіть:
pacman -Syu- Якщо після оновлення MSYS2 автоматично закриється, відкрийте його знову і запустіть:
pacman -Su
✅ Цей крок гарантує, що ви маєте останню версію менеджера пакунків.
- Встановлення rsync
Тепер встановіть rsync за допомогою:
pacman -S rsync
💡 Якщо вам потрібен openssh для передачі по SSH, встановіть його також:
pacman -S openssh
Перевірка встановлення
Щоб перевірити правильність встановлення rsync, запустіть програму:
rsync --version
Базовий синтаксис rsync
Базовий синтаксис rsync наступний:
rsync [options] source destination
Найпоширеніші параметри
- –a: Режим архівування (зберігає символічні посилання, дозволи, мітки часу тощо)
- –v: Розгорнутий вивід
- –z : Стиснути дані файлу під час передавання
- –P: Показувати прогрес під час передачі
- –r: Рекурсивно копіювати каталоги
- –e : Вказати віддалену оболонку (наприклад, SSH)
Використання rsync для локальної синхронізації файлів
Для синхронізації файлів між двома локальними каталогами:
rsync -av /source/directory/ /destination/directory/
Кінцева коса риска / у вихідному тексті гарантує, що буде скопійовано лише вміст каталогу, а не сам каталог.
Використання rsync по мережі
Передача файлів на віддалений сервер
Передача файлів з локальної системи на віддалений сервер:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*Після того, як ми додали команду в MSYS2, ми додамо дані SSH для з’єднання з віддаленим сервером, і результат буде відображено:
Ця команда безпечно копіює файли на віддалений сервер за допомогою SSH.
Перевірте, чи команда була успішно виконана на вашому віддаленому сервері:
Перенесення файлів з віддаленого сервера на локальну машину
Для копіювання файлів з віддаленого сервера на вашу локальну машину. За замовчуванням rsync використовує SSH для безпечного з’єднання. Ви можете явно вказати SSH за допомогою:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Якщо SSH використовує порт не за замовчуванням (наприклад, 2222), вкажіть його так:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Синхронізація та видалення зайвих файлів
Видалення зайвих файлів у місці призначення, яких немає у джерелі:
Першим кроком ми додамо зайві файли у терміналі PuttySSH:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txtТепер синхронізуйте каталог без певних файлів, і rsync видалить файли, яких більше немає у джерелі:
rsync -av --delete /source/directory/ /destination/directory/
📌 Що це робить?
Всі файли, які знаходяться на сервері, але НЕ в тестовому/локальному каталозі, будуть видалені.
Результат MSYS2

Результат PuttySSH

Попередження: Обережно використовуйте –delete, оскільки він безповоротно видаляє файли з місця призначення.
Вилучення файлів і каталогів
Вилучення певних файлів або каталогів:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/
Результат MSYS2

Результат PuttySSH

Для декількох винятків використовуйте:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
Запуск rsync у фоновому режимі
Ви можете запустити rsync у фоновому режимі за допомогою nohup:
nohup rsync -avz /source/ user@remote_host:/destination/
Це дозволить продовжити процес навіть після виходу з системи.
В локальній директиві ми додали новий файл new_file.txt33333333, потім відключили термінал PuttySSH, і наведена вище команда дозволяє нам відправляти файли навіть при відключеному сервері.

Автоматизація передачі файлів за допомогою завдань Cron
Щоб запланувати автоматичну синхронізацію за допомогою cron, відкрийте crontab:
crontab -e
Додайте завдання для запуску rsync щодня опівночі:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
Висновок
rsync– незамінний інструмент для керування файлами в Linux, що пропонує ефективну синхронізацію та передачу даних по мережі. Незалежно від того, чи створюєте ви резервну копію сайту WordPress, дзеркалюєте журнали або мігруєте дані на надійний VPS від ava.hosting,
rsyncекономить час і пропускну здатність. Наприклад, ви можете використовувати
rsyncдля безпечного резервного копіювання каталогу
/var/wwwвашого сервера ava.hosting у віддалене місце, забезпечуючи збереження даних. Завдяки високопродуктивній інфраструктурі ava.hostingта універсальним опціям
rsyncви можете оптимізувати робочі процеси, автоматизувати резервне копіювання та керувати файлами з упевненістю.
Освоєння керування файлами за допомогою rsync у Linux за допомогою ava.hosting
Керувати файлами в різних системах дуже просто за допомогою
rsync, потужної утиліти Linux для синхронізації та передачі файлів через мережу. Незалежно від того, чи створюєте ви резервну копію даних, чи дзеркалюєте каталоги, чи мігруєте файли на високопродуктивних VPS або виділених серверах ava.hosting,
rsyncгарантує ефективність, копіюючи лише зміни між джерелом та місцем призначення. Наприклад, ви можете використовувати
rsyncдля резервного копіювання файлів вашого веб-сайту , розміщеного на ava.hosting, на віддалений сервер, мінімізуючи пропускну здатність і час. Цей посібник охоплює встановлення, використання та автоматизацію
rsyncдля безперебійного керування файлами, оптимізованого для надійної інфраструктури ava.hosting.
Встановлення rsync
Більшість дистрибутивів Linux постачається з попередньо встановленим rsync. Щоб перевірити, чи його встановлено, запустіть:
rsync --version
Якщо його не встановлено, ви можете встановити його за допомогою менеджера пакунків вашого дистрибутива:
- Debian/Ubuntu:
sudo apt install rsync - RHEL/CentOS:
sudo yum install rsync - Fedora:
sudo dnf install rsync - Arch Linux:
sudo pacman -S rsync
як перенести файли з Windows на віддалений сервер за допомогою rsync через PuTTY SSH?
Щоб використовувати rsync в Windows через PuTTY SSH, потрібно мати встановлену програму:
PuTTY для підключення поSSH
rsync і OpenSSH на Windows
Агент (необов’язково) для автоматичної автентифікації за допомогою ключа SSH
Встановлення rsync у Windows за допомогою MSYS2
Якщо ви завантажили MSYS2, ви можете легко встановити rsync за допомогою pacman, менеджера пакетів MSYS2.
- Оновлення MSYS2 та наявних пакунків
У терміналі MSYS2 запустіть:
pacman -Syu- Якщо після оновлення MSYS2 автоматично закриється, відкрийте його знову і запустіть:
pacman -Su
✅ Цей крок гарантує, що ви маєте останню версію менеджера пакунків.
- Встановлення rsync
Тепер встановіть rsync за допомогою:
pacman -S rsync
💡 Якщо вам потрібен openssh для передачі даних по SSH, встановіть його також:
pacman -S openssh
Перевірка встановлення
Щоб перевірити правильність встановлення rsync, запустіть програму:
rsync --version
Базовий синтаксис rsync
Базовий синтаксис rsync наступний:
rsync [options] source destination
Найпоширеніші параметри
- –a: Режим архівування (зберігає символічні посилання, дозволи, мітки часу тощо)
- –v: Розгорнутий вивід
- –z : Стиснути дані файлу під час передавання
- –P: Показувати прогрес під час передачі
- –r: Рекурсивно копіювати каталоги
- –e : Вказати віддалену оболонку (наприклад, SSH)
Використання rsync для локальної синхронізації файлів
Для синхронізації файлів між двома локальними каталогами:
rsync -av /source/directory/ /destination/directory/
Кінцева коса риска / у вихідному тексті гарантує, що буде скопійовано лише вміст каталогу, а не сам каталог.
Використання rsync по мережі
Передача файлів на віддалений сервер
Передача файлів з локальної системи на віддалений сервер:
rsync -avz /local/directory/ user@remote_host:/remote/directory/*Після того, як ми додали команду в MSYS2, ми додамо дані SSH для з’єднання з віддаленим сервером, і результат буде відображено:
Ця команда безпечно копіює файли на віддалений сервер за допомогою SSH.
Перевірте, чи команда була успішно виконана на вашому віддаленому сервері:
Перенесення файлів з віддаленого сервера на локальну машину
Для копіювання файлів з віддаленого сервера на вашу локальну машину. За замовчуванням rsync використовує SSH для безпечного з’єднання. Ви можете явно вказати SSH за допомогою:
rsync -avz -e ssh /local/directory/ user@remote_host:/remote/directory/
Якщо SSH використовує порт не за замовчуванням (наприклад, 2222), вкажіть його так:
rsync -avz -e "ssh -p 2222" /local/directory/ user@remote_host:/remote/directory/
Синхронізація та видалення зайвих файлів
Видалення зайвих файлів у місці призначення, яких немає у джерелі:
Першим кроком ми додамо зайві файли у терміналі PuttySSH:
cd /home/user/test_backup/touch file1.txt file2.log file3.jpgmkdir extra_filestouch extra_files/old_file.txtТепер синхронізуйте каталог без певних файлів, і rsync видалить файли, яких більше немає у джерелі:
rsync -av --delete /source/directory/ /destination/directory/
📌 Що це робить?
Всі файли, які знаходяться на сервері, але НЕ в тестовому/локальному каталозі, будуть видалені.
Результат MSYS2

Результат PuttySSH

Попередження: Обережно використовуйте –delete, оскільки він безповоротно видаляє файли з місця призначення.
Вилучення файлів і каталогів
Вилучення певних файлів або каталогів:
rsync -av --exclude 'file_or_directory' /source/ user@remote_host:/destination/
Результат MSYS2

Результат PuttySSH

Для декількох винятків використовуйте:
rsync -av --exclude={'file1','dir1','*.log'} /source/ user@remote_host:/destination/
Запуск rsync у фоновому режимі
Ви можете запустити rsync у фоновому режимі за допомогою nohup:
nohup rsync -avz /source/ user@remote_host:/destination/
Це дозволить продовжити процес навіть після виходу з системи.
В локальній директиві ми додали новий файл new_file.txt33333333, після чого відключили термінал PuttySSH, і наведена вище команда дозволяє нам відправляти файли навіть при відключеному сервері.

Автоматизація передачі файлів за допомогою завдань Cron
Щоб запланувати автоматичну синхронізацію за допомогою cron, відкрийте crontab:
crontab -e
Додайте завдання для запуску rsync щодня опівночі:
0 0 * * * rsync -avz /source/ user@remote_host:/destination/
Висновок
rsync– незамінний інструмент для керування файлами в Linux, який пропонує ефективну синхронізацію та передачу даних по мережі. Незалежно від того, чи створюєте ви резервну копію сайту WordPress, дзеркалюєте журнали або мігруєте дані на надійний VPS від ava.hosting,
rsyncекономить час і пропускну здатність. Наприклад, ви можете використовувати
rsyncдля безпечного резервного копіювання каталогу
/var/wwwвашого сервера ava.hosting у віддалене місце, забезпечуючи збереження даних. Завдяки високопродуктивній інфраструктурі ava.hostingта універсальним опціям
rsyncви можете оптимізувати робочі процеси, автоматизувати резервне копіювання та керувати файлами з упевненістю.



