lsyncd:リスト内の個々のファイルを同期できますか?

lsyncd:リスト内の個々のファイルを同期できますか?

lsyncdを使用してあるLinuxシステムから別のLinuxシステムにいくつかのファイルを同期したいと思います。ファイルは1つのディレクトリに限定されず、すべてのファイルが1つのディレクトリにあることは望ましくありません。

具体的には、特定のメールサーバーファイルを代替サーバーと同期させるよう努めています。リストは次のとおりです。

/etc/postfix/master.cf /etc/postfix/main.cf /etc/postfix/blocked_senders /etc/postfix/relay_recipients /etc/mail/spamassassin/local.cf

一種のリストを使用して、単一の同期セクションでこれらのファイルをすべて指定できますか、それとも別の同期セクションで各個別のファイルを構成する必要がありますか?

ベストアンサー1

私はお勧めします

--[[
The _extra= hack allows synchronization of individual files. Use one sync {}
stanza per source directory. Use additional --include= lines to handle multiple
files within a single source directory.
]]

sync {
  default.rsync,
  delay = 0,
  source = "/etc/postfix/",
  target = "standby.example.com:/etc/postfix/",
  rsync = {
    _extra = {
      "--include=master.cf",
      "--include=main.cf",
      "--include=blocked_senders",
      "--include=relay_recipients",
      "--exclude=*",
    }
  }
}

sync {
  default.rsync,
  delay = 0,
  source = "/etc/mail/spamassassin/",
  target = "standby.example.com:/etc/mail/spamassassin/",
  rsync = {
    _extra = {
      "--include=local.cf",
      "--exclude=*",
    }
  }
}

lsyncdはディレクトリレベルで設定されたトリガを介して変更を効果的に検出するため、各ソースディレクトリにsync {}セクションが必要だと思います。

おすすめ記事