Возможно ли синхронизировать два каталога Linux в реальном времени?

Возможно ли синхронизировать два каталога Linux в реальном времени?

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

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

Это будет что-то вроде RAID с внешним жестким диском.

Это возможно?

решение1

В режиме реального времени, насколько я знаю, есть толькоДРБД. Но я не думаю, что это применимо к вашей ситуации, поскольку когда вы удаляете файл, вы удаляете его также на внешнем диске. Проще всего использовать rsync и скрипт cron, который запускается каждые несколько минут.

решение2

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

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

Цитата из github:

Lsyncd отслеживает локальный интерфейс монитора событий деревьев каталогов (inotify или fsevents). Он собирает и объединяет события в течение нескольких секунд, а затем запускает один (или несколько) процессов для синхронизации изменений. По умолчанию это rsync. Таким образом, Lsyncd — это легковесное решение для зеркалирования в реальном времени, которое сравнительно легко установить, не требуя новых файловых систем или блочных устройств и не снижая производительность локальной файловой системы.

решение3

Вы можете просто создать программный RAID1 на внутренних и внешних жестких дисках. Для системы не имеет значения, встроенный это жесткий диск или внешнее подключенное запоминающее устройство.

Но RAID не является резервным копированием! Что произойдет, если вы случайно удалите файл на жестком диске? Он также будет удален на вашем внешнем "резервном" диске.

Резервные копии обычно содержат более одного поколения файлов, поэтому из них можно восстановить случайно удаленные файлы.

решение4

git-приложениетакже может быть использовано для достижения этой цели.

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

Существует пошаговое руководство, которое поможет пользователям быстро освоить git-annex.

Связанный контент