I have a custom service that I want to monitor with monit. When the process fails I want to copy the log to a shared file system and restart the service. Something like the following but I am not not sure what. Any hints would be appreciated.
check process pipeline with pidfile /var/run/pipeline.pid start program = "/sbin/start pipeline" stop program = "/sbin/stop pipeline" if 10 restarts within 10 cycles then timeout # Not sure what to write next if <service has failed> restart and exec "/bin/bash -c 'cp /var/log/upstart/pipeline.log /nfs/logs/`hostname`.`date +'%m-%d-%Y_%H.%M.%S'`.log'"