Я отлаживаю операторы программы запуска / остановки монитора. В моем /etc/monit.conf
файле мой start program
оператор выглядит так:
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'""
который я тестировал в оболочке с
$ 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 '
выполнение этого возвращает в /tmp/monit.out
файл правильный вывод:
Starting nodejs daemon...
nodejs daemon started. PID: 16408
Но когда я запускаю sudo monit -v monitor node
, он отображает другую команду, идентичную, за исключением того, что внутренние одинарные кавычки удалены:
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
Я ничего не могу найти по этому поводу в документации по монитору. Документация, здесь, кажется окончательной справкой, но не содержит исходного кода. , Я не уверен, что делать дальше.
Моя команда отлично работает без удаления кавычек, поэтому мне просто нужно исправить эту проблему. Все идеи и возможные исправления приветствуются.