using supervisord to run lsyncd script

Asked 1 year, 11 months ago
Active 7 months ago
Viewed 164 times
1

I'm trying to run my lsynd's script with supervisord in order to have it always run. I've coded this conf for my supervisor

[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

Script runs ok at startup but it exits always

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)

I can't understand if this is the correct way to keep alive a lsynd script or not. Suggestions?

0
 

I'm using this configuration to supervisord in file /etc/supervisor/conf.d/lsyncd.conf

[program:lsyncd]
command=/usr/bin/lsyncd -nodaemon /etc/lsyncd/lsyncd.conf.lua
autostart=true
autorestart=unexpected
startretries=3

And this configuration to 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"
    }
}

Also I had configure ssh keys and install rsync in the servers.

原文地址:https://www.cnblogs.com/mouseleo/p/12599643.html