Освоєння керування файлами за допомогою 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.

Перевірте, чи команда була успішно виконана на вашому віддаленому сервері:

ls -lah /home/user/test_backup/ [put_ваш_каталог]

Перенесення файлів з віддаленого сервера на локальну машину

Для копіювання файлів з віддаленого сервера на вашу локальну машину. За замовчуванням 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.jpg

mkdir extra_files

touch 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.

Перевірте, чи команда була успішно виконана на вашому віддаленому сервері:

ls -lah /home/user/test_backup/ [покласти_ваш_каталог]

Перенесення файлів з віддаленого сервера на локальну машину

Для копіювання файлів з віддаленого сервера на вашу локальну машину. За замовчуванням 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.jpg

mkdir extra_files

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