lsyncd-マルチマシンリアルタイム同期ファイル神器


lsyncdは、リアルタイム、双方向、マルチマシンをサポートするマルチモードファイル同期ツールです.
Lua言語を用いてinotifyとrsyncツールをカプセル化し,Linuxカーネル(2.6.13以降)のinotifyトリガメカニズムを採用し,rsyncにより差分同期を行い,リアルタイムの効果を達成した.
インストール
ソース・ファイル・サーバにインストールするには、次の手順に従います.
yum -y install lsyncd

コンフィギュレーション
lsyncdプライマリプロファイルは、/etc/lsyncd.confに配置されていると仮定します.
settings {
    nodaemon = false,
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd.status",
    inotifyMode = "CloseWrite",
    maxProcesses = 8
}

--      sync,   source,   target,     ,    。
sync {
    default.rsyncssh,
    source    = "/home/wwwroot/web1/",
    host      = "111.222.333.444",
    targetdir = "/home/wwwroot/web1/",
    --         ,  table         
    -- excludeFrom = "/etc/lsyncd_exclude.lst",
    exclude = {
        ".svn",
        "Runtime/**",
        "Uploads/**",
    },
    -- maxDelays = 5,
    delay = 0,
    -- init = false,
    rsync = {
        binary = "/usr/bin/rsync",
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2000"},
    },
}

規則を無視
ファイルを構成するには、同期されたファイルまたはフォルダを無視する必要があります.excludeFromオプションでは、excludeタイプの構成ではプロファイルを使用しません.プロファイルが/etc/lsyncd_exclude.lstに配置されているとします.
.svn
Runtime/**
Uploads/**

非公開ログイン
毎回パスワードを手動で入力しないように、SSH非密登録に設定します.
開始
lsyncd -log Exec /etc/lsyncd.conf

リファレンス
  • 公式Wiki
  • lsyncdリアルタイム同期構築ガイド-rsync+inotifyの代わりに

  • 原文住所:
    https://shockerli.net/post/li...
    詳細については、個人ブログにアクセスしてください.
    https://shockerli.net