使用 supervisord 到 运行 lsyncd 脚本

using supervisord to run lsyncd script

我正在尝试 运行 我的 lsynd 脚本与 supervisord 以便始终 运行。 我已经为我的主管编写了这个 conf

[program:autostart_lsyncd]
command=bash -c "lsyncd /home/sync/lsyncd_script.lua"
autostart=true
autorestart=unexpected
numprocs=1
startsecs = 0
stderr_logfile=/var/log/autostart_sync.err.log
stdout_logfile=/var/log/autostart_sync.out.log

脚本 运行启动时正常,但总是退出

2018-04-09 09:48:49,638 INFO success: autostart_lsyncd entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2018-04-09 09:48:49,639 INFO exited: autostart_lsyncd (exit status 0; expected)

我不明白这是否是使 lsynd 脚本保持活动状态的正确方法。 建议?

我在文件 /etc/supervisor/conf.d/lsyncd.conf

中使用此配置进行监督
[program:lsyncd]
command=/usr/bin/lsyncd -nodaemon /etc/lsyncd/lsyncd.conf.lua
autostart=true
autorestart=unexpected
startretries=3

并将此配置到lsyncd (/etc/lsyncd/lsyncd.conf.lua):

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

sync {
    default.rsync,
    source="/var/www/html/sites/default/files",
    target="root@cdn:/var/www/html/sites/default/files",
    exclude = {"*.php", "*.po", "\.ht*"},
    rsync = {
        archive = false,
        acls = false,
        compress = true,
        links = false,
        owner = false,
        perms = false,
        verbose = true,        
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
    }
}

我还配置了 ssh 密钥并在服务器中安装了 rsync。