Чи можливо синхронізувати два Linux-каталоги в режимі реального часу?


25

Я хотів би синхронізувати каталог внутрішнього жорсткого диска із зовнішнім жорстким диском.

Коли я записую або змінюю файл на своєму внутрішньому жорсткому диску, автоматично той самий файл буде скопійований на зовнішній жорсткий диск ... і до побачення резервного копіювання;)

Це було б щось на зразок RAID із зовнішнім жорстким диском.

Чи можливо це?


22
Я боюся, що мислення "до побачення резервного копіювання" майже ніколи не є доречним або правильним.
Бен Пілбров

Серйозно. Що сказав Бен. Це НЕ заміна резервного копіювання.
Duncan X Simpson

Відповіді:


8

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


Спасибі за вашу відповідь. Але якщо "cron" rsync запускається кожні 0,5 хвилини, чи це загрожує продуктивності? Хіба це не надто важко (він перевіряє всі файли, чи щось змінено?)?
stighy

Ось чому вони винайшли файлову систему з можливостями знімків;)
PiL

1
DRBD може бути дещо складним у налаштуванні, якщо вам потрібна допомога в його налаштуванні, я написав чудову статтю: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncd здається ідеальним рішенням. Він поєднує в собі inotify (функція, яка вбудована в ядро, відьма спостерігає за зміною файлів у деревах каталогів) та rsync (інструмент для синхронізації файлів між платформами).

lsyncd -rsyncssh /home remotehost.org backup-home/

Цитата від github:

Lsyncd спостерігає інтерфейс монітора подій дерев локальних каталогів (ініціювати чи fsevents). Він агрегує та поєднує події протягом декількох секунд, а потім породжує один (або більше) процес (и) для синхронізації змін. За замовчуванням це rsync. Таким чином, Lsyncd - це легке живе дзеркальне рішення, яке порівняно просто встановити, не вимагаючи нових файлових систем або блокових пристроїв і не перешкоджаючи роботі локальної файлової системи.


1
це не двонаправлене
tymik

8

Ви можете просто створити Software RAID1 на внутрішніх та зовнішніх жорстких дисках. Для системи це не має значення, якщо це вбудований жорсткий диск або зовнішньо приєднаний накопичувач.

Але RAID - це не резервне копіювання! Що станеться, якщо ви випадково видалите файл на жорсткому диску? Він також видаляється з вашого зовнішнього накопичувача.

Резервні копії зазвичай містять більше одного покоління файлів, щоб ви могли отримати з нього випадково видалені файли.


4
Великий +1 для явного "RAID - це не резервне копіювання".
nickgrim

Також програмний наліт із внутрішніми та зовнішніми членами жорсткого диска, ймовірно, буде дуже повільним, ненадійним та призначений зламати досить часто.
Девід

2

incron (як мені запропонували на цьому сайті раніше цього року).

Це все ще не замінює правильну процедуру резервного копіювання.


3
напевно, краще було б викарбувати його в камінь.
Ді

1
@Dee Будь ласка, поясніть цей коментар. Хіба інкрон не є хорошим рішенням?
imolit


0

git-annex також може бути використаний для досягнення цього.

git-annex дозволяє керувати файлами за допомогою git, не перевіряючи вміст файлу в git. Хоча це може здатися парадоксальним, це корисно при роботі з файлами, більшими за git, і в даний час можна легко впоратися, чи то через обмеження в пам'яті, часу чи дисковому просторі

Існує посібник для швидкого доведення користувачів до швидкості за допомогою git-annex


Хоча це теоретично може відповісти на питання, [було б бажано] включити сюди суттєві частини відповіді та надати посилання для довідки.
Ітаї Ганот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.