ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

50_dialy:2024:10:04

2024.10.04 lsyncd

lsyncd(Live Syncing Daemon)は、ファイルの変更をリアルタイムで同期するためのツール

総じて、lsyncdはNFSの代替として優れた選択肢である一方、運用においては同期の遅延や競合のリスクを考慮する必要があります。
lsyncdの設定を適切に調整すれば、NFSのパフォーマンス問題を軽減できる可能性があるでしょう。

相互同期設定

下記のサーバで、/var/www/htmlを相互同期する方法

Aサーバ: 192.168.10.11
Bサーバ: 192.168.10.12

1. インストール

sudo apt update
sudo apt install lsyncd

2.両サーバへ鍵でSSH可能に

Aサーバ

ssh-copy-id root@192.168.10.12

Bサーバ

ssh-copy-id root@192.168.10.11

3.lsyncd.conf.lua

Aサーバ /etc/lsyncd/lsyncd.conf.lua

settings {
    logfile    = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd-status.log",
    statusInterval = 1,      -- ステータスログの更新間隔を1秒に設定
    inotifyMode = "CloseWrite" -- ファイルが閉じられた時点で変更を検出
}

sync {
    default.rsyncssh,
    source = "/var/www/html/",
    host = "root@192.168.10.12",
    targetdir = "/var/www/html/",
    delay = 1,                    -- 変更後1秒で同期
    rsync = {
        archive = true,
        compress = true,
    }
}

Bサーバ /etc/lsyncd/lsyncd.conf.lua

settings {
    logfile    = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd-status.log",
    statusInterval = 1,      -- ステータスログの更新間隔を1秒に設定
    inotifyMode = "CloseWrite" -- ファイルが閉じられた時点で変更を検出
}

sync {
    default.rsyncssh,
    source = "/var/www/html/",
    host = "root@192.168.10.11",
    targetdir = "/var/www/html/",
    delay = 1,                    -- 変更後1秒で同期
    rsync = {
        archive = true,
        compress = true,
    }
}

4.起動と自動起動設定

sudo systemctl start lsyncd
sudo systemctl enable lsyncd
50_dialy/2024/10/04.txt · 最終更新: 2024/10/04 12:35 by matsui