下記のように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", }