it-swarm.com.de

Starten Sie die Konfiguration, um den Sync-Daemon als Nicht-Root-Benutzer zu starten

Ich plane, inosync zu verwenden, um Daten vom Master-Server mit mehreren Client-Servern zu synchronisieren. Ich habe einen Benutzer mit dem Namen rsyncuser sowohl im Master- als auch im Slave-Modus mit Zugriffsberechtigungen und passwortlosem SSH-Zugriff vom Master- zum Slave-Server erstellt.

Inosync funktioniert, wenn ich es über die Befehlszeile als rsyncuser verwende.

Als nächstes möchte ich, dass dies automatisch startet, wenn der Server eingeschaltet wird. Ich dachte, Emporkömmling ist der Weg, um dies zum Laufen zu bringen.

Ich kann den richtigen Startbefehl nicht finden, um dies zum Laufen zu bringen.

Hier ist meine upstart conf-Datei. Das Problem scheint darin zu liegen, "inosync -d -c /etc/inosync/inosync_rsyncuser.py" als bestimmten Benutzer auszuführen.

Wie Sie sehen, habe ich verschiedene Möglichkeiten ausprobiert!

 Beschreibung "Inosync starten, um Daten mit anderen CDN-Servern als rsyncuser zu synchronisieren" 
 Konsolenausgabe 
 # Start beim Start 
 # Stopp beim Herunterfahren 
 Start on (Net-Device-Up und lokale Dateisysteme) 
 stop on runlevel [016] 
 
 # start on runlevel [2345] 
 # stop on runlevel [ ! 2345] 
 # Kill timeout 30 
 Env RUN_AS_USER = rsyncuser 
 
 Erwarten Fork 
 
 Script 
 Echo "Der Inosync-Updtart-Job scheint gestartet zu sein" >> /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 
 Skript beenden 
6
Rudiger Wolf

Ich denke das sollte es tun:

exec su -c command_to_execute - $RUN_AS_USER
7
achiang
start on (net-device-up IFACE!=lo and local-filesystems)
stop on runlevel [016]

respawn

exec su -c '/usr/bin/inosync -c /etc/inosync/inosync_rsyncuser.py | logger -p daemon.notice -t inosync' rsyncuser

Dies sollte gestartet werden, sobald das Netzwerk aktiv ist und die lokalen Dateisysteme verfügbar sind, und erst dann beendet werden, wenn Sie herunterfahren/neu starten. Es gibt no einen Grund, 'expect fork' mit inosync zu verwenden, da es keine Verzweigung gibt, es sei denn, Sie verwenden -d. Dies ist idealerweise die Funktionsweise aller verwalteten Upstart-Dienste.

Durch die Weiterleitung an den Logger können Sie Ihr Syslog-Setup nutzen, anstatt irgendwo eine andere Logdatei zu erstellen. daemon.notice sollte in /var/log/daemon.log landen.

2
SpamapS