upstartconfiguration以非root用户身份启动同步守护进程

我打算使用inosync将数据从主服务器同步到多个客户端服务器。 我在master和slave上都创build了一个名为rsyncuser的用户,它具有访问权限和从主服务器到从服务器的无密码ssh访问权限。

当我从命令行使用它作为rsyncuser时,Inosync正在工作。

接下来,我希望在服务器开启时自动启动。 我认为新贵是实现这个目标的方法。

我无法find正确的新贵命令来使这个工作。

这是我的新贵conf文件。 问题似乎是运行“inosync -d -c /etc/inosync/inosync_rsyncuser.py”作为给定的用户。

正如你可以看到我已经尝试了一些不同的select!

说明“开始inosync将数据同步到其他CDN服务器作为rsyncuser”
控制台输出
 #开机启动
 #停机closures
启动(net-device-up和本地文件系统)
在运行级停止[016]

运行级别开始[2345]
 #运行级别[!2345]
 #kill超时30
 env RUN_AS_USER = rsyncuser

期望叉子

脚本
    echo“Inosync updtart作业似乎已经开始”>> /tmp/upstart.log
 #exec sudo -u rsyncuser -c“ls -la”>> /tmp/upstart.log 2>&1
 #LOGFILE = / var / log / logfile.`date +%Y-%m-%d`.log

 #exec su  -  $ RUN_AS_USER -c“inosync -d -c /etc/inosync/inosync_rsyncuser.py”>> $ LOGFILE 2>&1
 #exec su -c“ls -la”>> /tmp/upstart.log 2>&1
 #发出inosync_running
结束脚本

sudo默认在大部分的环境中踩踏。 试试这个(join-E):

exec sudo -E -u rsyncuser -c "ls -la" >> /tmp/upstart.log 2>&1 

-E告诉sudo保护环境。