sudo por padrão pisca na maior parte do ambiente. Tente isso (adicionando -E):
exec sudo -E -u rsyncuser -c "ls -la" >> /tmp/upstart.log 2>&1
-E
diz ao sudo para preservar o meio ambiente.
Estou planejando usar inosync para sincronizar dados do servidor mestre para vários servidores clientes. Eu criei um usuário chamado rsyncuser no master e no slaves com permissões de acesso e acesso ssh sem senha dos servidores master para slave.
O Inosync está funcionando quando eu o uso da linha de comando como rsyncuser.
Em seguida, quero que isso seja iniciado automaticamente quando o servidor estiver ativado. Eu percebi que o novato é o jeito de fazer isso funcionar.
Não consigo encontrar o comando inicial adequado para que isso funcione.
Aqui está o meu arquivo conf upstart. O problema parece estar rodando "inosync -d -c /etc/inosync/inosync_rsyncuser.py" como um usuário dado.
Como você pode ver, eu tentei várias opções!
description "start inosync to sync data to other CDN Servers as rsyncuser" console output #start on startup #stop on shutdown start on (net-device-up and local-filesystems) stop on runlevel [016] #start on runlevel [2345] #stop on runlevel [!2345] #kill timeout 30 env RUN_AS_USER=rsyncuser expect fork script echo "Inosync updtart job seems to have started" >> /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 # emit inosync_running end script
sudo por padrão pisca na maior parte do ambiente. Tente isso (adicionando -E):
exec sudo -E -u rsyncuser -c "ls -la" >> /tmp/upstart.log 2>&1
-E
diz ao sudo para preservar o meio ambiente.
Tags upstart