Коротко про резервні копії¶
Що таке резервна копія?
Резервне копіювання належить до дублювання даних у файловій системі або базі даних. У разі помилки або катастрофи ефективні дані системи можуть бути відновлені своєчасно, і робота системи може бути відновлена у нормальний режим.
Які є методи резервного копіювання?
- Повне резервне копіювання: це одноразова копія всіх файлів, директорій або даних на жорсткому диску або в базі даних. (Плюси: найкращий, може швидше відновлювати дані. Недоліки: займають більше місця на жорсткому диску.)
- Інкрементне резервне копіювання: стосується резервного копіювання даних, оновлених після останнього повного або інкрементного резервного копіювання. Процес виглядає так, наприклад, повне резервне копіювання в перший день; резервне копіювання щойно доданих даних на другий день, на відміну від повного резервного копіювання; на третій день резервне копіювання щойно доданих даних на основі другого дня, відносно наступного дня і так далі.
- Диференціальне резервне копіювання: стосується резервного копіювання змінених файлів після повного резервного копіювання. Наприклад, повне резервне копіювання в перший день; резервне копіювання нових даних на другий день; резервне копіювання нових даних з другого дня до третього дня на третій день; і резервне копіювання всіх нових даних з другого дня до четвертого дня на четвертий день і так далі.
- Вибіркове резервне копіювання: належить до резервного копіювання частини системи.
- Холодне резервне копіювання: стосується резервного копіювання, коли система вимкнена або в стані обслуговування. Резервні копії даних точно збігаються з даними в системі протягом цього періоду. Резервні копії даних точно збігаються з даними в системі протягом цього періоду.
- Гаряче резервне копіювання: належить до резервного копіювання, коли система працює в нормальному режимі. Оскільки дані в системі оновлюються в будь-який час, резервні копії даних мають певну затримку відносно реальних даних системи.
- Віддалене резервне копіювання: стосується резервного копіювання даних в іншому географічному місці, щоб уникнути втрати даних і переривання роботи служби через пожежу, стихійне лихо, крадіжку тощо.
Коротко про rsync¶
На сервері я створив резервну копію першого розділу на другий розділ, який широко відомий як «локальне резервне копіювання» Можна використовувати конкретні інструменти резервного копіювання tar, dd, dump, cp тощо. Незважаючи на те, що резервна копія даних створюється на цьому сервері, якщо апаратне забезпечення не завантажиться належним чином, дані не будуть відновлені. Щоб розв'язувати цю проблему з локальним резервним копіюванням, ми запровадили інший вид резервного копіювання --- "віддалене резервне копіювання".
Деякі люди скажуть, чи не можу я просто використати команду tar або cp на першому сервері та надіслати її на другий сервер через scp чи sftp?
У виробничому середовищі обсяг даних відносно великий. Перш за все, tar або cp споживає багато часу та знижує продуктивність системи. Передача через scp або sftp також займає багато пропускної здатності мережі, що недопустимо в реальному робочому середовищі. По-друге, ці команди або інструменти мають бути введені адміністратором вручну та поєднані з crontab запланованого завдання. Однак час, встановлений crontab, непросто зрозуміти, і резервне копіювання даних не підходить, якщо час занадто короткий або занадто довгий.
Тому у виробничому середовищі має бути резервне копіювання даних, яке має відповідати таким вимогам:
- Резервні копії, що передаються мережею
- Синхронізація файлів даних у реальному часі
- Менше завантаження системних ресурсів і більш висока ефективність
Здається, rsync відповідає вищезазначеним потребам. Він використовує ліцензійну угоду GNU з відкритим кодом. Це швидкий інструмент інкрементного резервного копіювання. Остання версія 3.2.3 (2020-08-06). Ви можете відвідати Офіційний веб-сайт для отримання додаткової інформації.
Що стосується підтримки платформи, то підтримується більшість Unix подібних систем, будь то GNU/Linux чи BSD. Крім того, існують пов'язані rsync на платформі Windows, такі як cwRsync.
Оригінальний rsync підтримувався австралійським програмістом Ендрю Тріджелом (показано на рисунку 1 нижче), а тепер його підтримує Вейн Дейвісон (показано на рисунку 2 нижче)). Для обслуговування ви можете перейти на адреса проекту github, щоб отримати потрібну інформацію.

примітка
сам по собі rsync є лише інкрементним інструментом резервного копіювання та не має функції синхронізації даних у реальному часі (його потрібно доповнити іншими програмами). Крім того, синхронізація одностороння. Якщо ви хочете реалізувати двосторонню синхронізацію, вам потрібно співпрацювати з іншими інструментами.
Основні принципи та особливості¶
Як rsync забезпечує ефективне резервне копіювання односторонньої синхронізації даних?
Ядром rsync є його алгоритм контрольної суми. Для отримання додаткової інформації ви можете перейти до розділів Як працює Rsync та Алгоритм rsync. Цей розділ виходить за межі компетенції автора і не буде детально розглядатися.
Характеристики rsync:
- Весь каталог можна оновлювати рекурсивно;
- Може вибірково зберігати атрибути синхронізації файлів, такі як жорстке посилання, м’яке посилання, власник, група, відповідні дозволи, час модифікації тощо, і може зберігати деякі атрибути;
- Підтримка двох протоколів для передачі: один протокол ssh, інший протокол rsync
Author: tianci li
Contributors: Steven Spencer, Ganna Zhyrnova