下記のようにlsyncdを紹介してきましたが、適用対象は単一のディレクトリでした。
今回は、複数のディレクトリに対して適用する方法を紹介します。

設定は、下記のように設定ファイル(/etc/lsyncd.conf)でsyncブロックを複数記述するだけで実現することができます。

settings = {
    logfile    = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd.status",
    nodaemon   = true,
}

s3sync = {
    maxProcesses = 1,
    onStartup = "s3cmd -c /root/.s3cfg -P -r --delete-removed sync ^source ^target/",
    onCreate  = "s3cmd -c /root/.s3cfg -P put ^source^pathname   ^target^pathname",
    onModify  = "s3cmd -c /root/.s3cfg -P put ^source^pathname   ^target^pathname",
    onDelete  = "s3cmd -c /root/.s3cfg    del                    ^target^pathname",
    onMove    = "s3cmd -c /root/.s3cfg    mv  ^target^o.pathname ^target^d.pathname",
}

sync{
    s3sync,
    source = "/tmp/src1",
    target = "s3://www.suz-lab.com/tmp1",
}

sync{
    s3sync,
    source = "/tmp/src2",
    target = "s3://www.suz-lab.com/tmp2",
}

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら