如果我想让monit每7天重启一个进程,我可以使用
https://mmonit.com/monit/documentation/monit.html#PROCESS-UPTIME-TESTING
if uptime > 7 days then restart
但是,monit是否有内置的方式在某个日期/时间重新启动?例如:
restart every saturday night at midnight
这是否存在? 如果不是其他人怎么处理这个?
答案 0 :(得分:0)
我知道这是一个旧帖子,但是如果有人有同样的问题,我想分享我的意见。
我认为应该通过调用monit来重启服务的cron作业来更好地处理这个问题。
例如,我们希望每周六晚上午夜重新启动mariadb的守护。我首先将monit描述符定义为:
check process mariadb with pidfile /var/lib/mysql/mariadb.pid
group database
start program = "/bin/systemctl start mariadb" with timeout 150 seconds
stop program = "/bin/systemctl stop mariadb"
if failed
host 127.0.0.1
port 3306 protocol
mysql
then restart
在crontab中我会在周日午夜重启这个条目:
0 0 * * 0 monit restart mariadb
我发现保持cron执行计划任务是最好的,因为它是该任务的goto工具。这样,如果有新的人来到这个环境,他就会马上知道在哪里更改服务重新启动的时间。
答案 1 :(得分:0)
我同意vesquam的答案,但对我来说,最好使用专门用于重新启动的额外check program
语句在Monit中指定crontab条目:
check program mariadb_restart with path "/bin/monit restart mariadb"
with timeout 600 seconds
every "0 0 * * 0-6"
if status != 0 then alert
优点:全部集中在一处,重新启动失败时您会收到警报。等等