Синхронизация файлов в реальном времени

Есть ли какой-либо инструмент для синхронизации файлов между двумя или несколькими серверами Linux сразу после записи файла на диск? Команда rsync не помогает мне в этом, потому что, если я установил rsync в cron, минимальное время, которое я могу установить, составляет 1 минуту, но мне нужно это в режиме реального времени.

5 Solutions collect form web for “Синхронизация файлов в реальном времени”

Не использовал его сам, но недавно прочитал об этом. Существует демон lsyncd , который, как я полагаю, делает именно то, что вам нужно.

Узнайте больше об этом ЗДЕСЬ

«SIOS Protection Suite для Linux» может предложить это на AWS.

http://www.linuxclustering.net/2016/03/21/step-by-step-how-to-configure-a-linux-failover-cluster-in-amazon-ec2-without-shared-storage-amazon- AWS-sanless-кластер / # InstallConfigureCluster

Вам нужно будет подойти к этому с помощью решения типа кластерной файловой системы – простая синхронизация между двумя машинами не даст вам ответа в реальном времени.

Синхронизация файлов в реальном времени между несколькими серверами в режиме с несколькими ведущими

Существует хороший инструмент под названием lsyncd для синхронизации файлов между несколькими серверами в режиме реального времени. Здесь я попытался с двумя серверами.

Хосты: Server1 и Server2

Используемая ОС: CentOS 7

Установите ниже пакеты на обоих серверах.

#yum install -y epel-release

#yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd

генерировать ssh-ключ на обоих серверах и добавлять в файл authorized_keys . [добавить открытый ключ server1 в authorized_keys сервера2 и открытый ключ сервера2 в файл authorized_keys сервера1]

Конфигурация Server1:

Откройте /etc/lsyncd.conf и закомментируйте конфигурацию по умолчанию, используя -- в начале строки и добавьте ниже конфигурацию в файл.

settings {

logfile = "/var/log/lsyncd/lsyncd.log",

delay = 1

}

sync {

default.rsync,

source="/home/test/public_html/",

target="server2:/home/test/public_html/",

rsync = {

compress = true,

acls = true,

verbose = true,

owner = true,

group = true,

perms = true,

rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"

}

}

Измените целевой IP в target параметре.

Вы можете изменить параметр delay в соответствии с вашим требованием. Здесь он устанавливается 1 секунда.

Теперь создайте каталог журнала.

mkdir -p / var / log / lsyncd

Включите службу lsyncd для запуска автоматически.

#systemctl enable lsyncd.service

Запустите службу.

#systemctl start lsyncd.service

Конфигурация сервера2:

Следуйте той же конфигурации, что и Server1, и измените target IP-адрес.

Теперь синхронизация установлена.

Вы можете проверить активность из #tailf /var/log/lsyncd/lsyncd.log

Спасибо Мельбурсну за его предложение.

Inotify-инструменты

Обеспечьте интерфейс для inotify , состоящий из:

inotifywait

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

inotifywatch

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

  • Дерево с именем каталога и именами файлов
  • Есть ли способ сказать системе сохранить папку в памяти?
  • Определите и назначьте самый последний файл для переменной оболочки
  • Используйте USB для синхронизации большого каталога между двумя отключенными серверами
  • Имя файла Regex с несколькими цифрами
  • Получить самый новый файл из структуры каталога год / месяц / дата / время
  • найти отсутствует результат - как это возможно?
  • Замените строку в файле и перезапишите файл
  • Группировать в разрешении группового файла
  • Как установить групповую политику для доступа ко всем папкам, кроме одного?
  • суммирование двух матриц, каждый из которых в другом файле
  • слияние всех файлов в один файл?
  • Interesting Posts

    войдите в ec2, используя SSH, но sudo запрашивает пароль

    Установка раздела Windows 8.1 в fstab не выполняется даже при выключении FastBoot

    Как установить трубку процесса после замены процесса в bash, чтобы процесс продолжался после завершения скрипта?

    Преобразование каталога в файл iso делает его загрузочным изображением

    Автозагрузка конкретного драйвера на основе обнаруженного определенного ядра

    Есть ли команда, чтобы посмотреть, есть ли тепловой отсек в моем ноутбуке?

    Нужно ли перезагружаться после обновления ядра (через APT)?

    iwconfig во время загрузки: операция не разрешена

    Как включить поддержку мыши в терминале Emacs?

    Действительно ли жесткие ссылки занимают столько места на диске?

    Как изменить таймаут в systemctl

    CentOS без сетевого интерфейса после установки в VirtualBox

    Как переназначить входные данные xinput другим клавишам?

    Как я могу сделать общедоступную переменную в Linux, которую будут видеть все пользователи?

    Установите карту SD через USB?

    Linux и Unix - лучшая ОС в мире.