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

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

  • Сравните существующий файл в двух разных каталогах, скопируйте, если не существует, иначе перезапишите его
  • Разрешения группы неэффективны, разрешение все еще запрещено
  • файл соответствует / proc / locks
  • Как предоставить sftp доступ к подкаталогу только не к родительскому
  • Как собрать статистику появления байтов в двоичном файле?
  • Архив с длинным именем файла внутри - unarchiver достигает предела файловой системы и не работает
  • Разделить содержимое файла в Linux
  • Как выполнить команду во всех подпапках
  • 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.

    Interesting Posts

    Использование egrep для поиска совпадений в файле при выводе конвейера из команды cat

    Новый индексный дескриптор при установке новой файловой системы

    xargs: использование одного и того же аргумента в нескольких командах

    Как заблокировать экран при закрытии крышки с помощью systemd?

    Почему я получаю оповещения о новых обновлениях, когда dnf говорит, что я в курсе последних событий?

    Как расширить среднюю файловую систему, используя только FDISK?

    Отличаются ли файлы bz от bz2 и как сделать bz-файлы вместо bz2?

    Как анализировать данные профиля из `perf record -a` (общесистемная коллекция)?

    Firefox на Arch Linux всегда спрашивает о загрузке

    Как опустить символ $ при вводе пути, хранящегося в переменной?

    udev для устройства USB и игнорирование других

    конвертировать команду update-rc.d в chkconfig

    Как создать псевдоним для двух команд Git, которые используют параметр?

    zgrep против egrep против grep

    Xbindkeys и ключ равенства

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