Ich debugge Monit Start/Stop-Programmanweisungen. In meiner /etc/monit.conf
Datei, sieht meine start program
Anweisung wie folgt:Monit entfernt Zitate von Start-Programm-Befehle
check process node with pidfile /home/ec2-user/blah/node.pid
start program = "/bin/su -c 'export APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out ' "
stop program = "/bin/su -c '/home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js stop'""
, die ich in einer Schale getestet habe mit
$ sudo su
# env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/sh
# /bin/su -c '/usr/bin/env APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out '
läuft diese wieder in der /tmp/monit.out
Datei die korrekte Ausgabe:
Starting nodejs daemon...
nodejs daemon started. PID: 16408
Aber wenn ich sudo monit -v monitor node
ausführen, zeigt es einen anderen Befehl , identische exce pt mit der inneren Apostrophe entfernt:
The service list contains the following entries:
Process Name = node
Pid file = /home/ec2-user/blah/node.pid
Monitoring mode = active
Start program = '/bin/su -c export APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out ' timeout 30 second(s)
Stop program = '/bin/su -c /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js stop' timeout 30 second(s)
Existence = if does not exist 1 times within 1 cycle(s) then restart else if succeeded 1 times within 1 cycle(s) then alert
Pid = if changed 1 times within 1 cycle(s) then alert
Ppid = if changed 1 times within 1 cycle(s) then alert
System Name = system_ip-xx-xx-xx-xx.ec2.internal
Monitoring mode = active
ich nichts darüber in der monit Dokumentation finden. Die Dokumentation here scheint die ultimative Referenz zu sein, aber kurz vor dem Durchlaufen des Quellcodes, ich bin mir nicht sicher, was ich als nächstes tun soll.
Mein Befehl funktioniert perfekt, ohne die Anführungszeichen entfernt, so dass ich nur dieses Problem beheben muss. Alle Ideen und mögliche Korrekturen sind willkommen.
einzelnes Zitat Flucht funktioniert nicht – dubeegee