首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >monit是否可以有重新启动的日期和/或时间,而不只是正常运行时间?

monit是否可以有重新启动的日期和/或时间,而不只是正常运行时间?
EN

Stack Overflow用户
提问于 2015-07-18 05:17:33
回答 2查看 1.1K关注 0票数 1

如果我想让monit每隔7天重新启动一个进程,我可以使用

代码语言:javascript
复制
https://mmonit.com/monit/documentation/monit.html#PROCESS-UPTIME-TESTING
if uptime > 7 days then restart

然而,monit有没有在某个日期/时间重启的内置方法?例如:

代码语言:javascript
复制
restart every saturday night at midnight

这真的存在吗?如果不是,其他人该如何处理?

EN

回答 2

Stack Overflow用户

发布于 2018-08-22 15:06:46

我同意vesquam的回答,但对我来说,最好在Monit本身中指定crontab条目,使用专门用于重新启动的额外check program语句:

代码语言:javascript
复制
check program mariadb_restart with path "/bin/monit restart mariadb"
    with timeout 600 seconds
    every "0 0 * * 0-6"
    if status != 0 then alert

优点:这一切都在一个地方,您可以在重启失败时收到警报。等

票数 2
EN

Stack Overflow用户

发布于 2016-08-25 20:54:39

我知道这是一个古老的帖子,但是如果有人有同样的问题,我想分享我对它的看法。

我认为这应该由cron作业调用monit重新启动服务来更好地处理。

例如,我们希望mariadb的守护进程在每周六晚上的午夜重新启动。我首先这样定义monit描述符:

代码语言:javascript
复制
 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中,我会有以下条目,用于在周日午夜重新启动:

代码语言:javascript
复制
0 0 * * 0 monit restart mariadb

我发现让cron执行预定任务是最好的,因为它是任务的goto工具。这样,如果有人来到环境中,他将立即知道在哪里更改服务重新启动的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31484855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档