Linux监控服务并主动重启

Linux查询后台进程,如果没有进程号,则重启服务:

#!/bin/sh
basepath=$(cd `dirname $0`; pwd)
while true
doprocnum=`ps -ef|grep "服务名称"|grep -v grep|wc -l`if [ $procnum -eq 0 ]then#启动命令echo `date +%Y-%m-%d` `date +%H:%M:%S`  "restart 服务" >>$basepath/shell.logfisleep 1
done

 结合  crontab命令
对于24小时开机运行的服务器可能用不到的,但是对非24小时开机,又想定时运行任务的机器还是十分有用的。

crontab [-u user] [-l | -r | -e] [-i]
-l:列出当前用户的计划任务。
-e:编辑当前用户的计划任务。
-r:删除当前用户的所有计划任务。即删除/var/spool/cron/USERNAME文件。
-u:管理指定用户的计划任务,仅root有权限。
-i:在使用-r选项删除所有任务时提示用户确认。

crontab的语法

crontab分为两类:
1、系统cron任务
系统的crontab存放在 /etc/crontab

# vim /etc/crontabSHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root# For details see man 4 crontabs# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed


a、每一行定义一个周期性任务,共7个字段。
b、此处的环境变量不同于用户登录后获得的环境,因此建议命令使用绝对路径。
c、执行结果会发送邮件给mailto指定的用户。

2、用户cron任务
用户的crontab文件存放在 /var/spool/cron/USERNAME
# crontab -e -u USERNAME

a、每一行定义一个周期性任务,共6个字段。
b、此处的环境变量不同于用户登录后获得的环境,因此建议命令使用绝对路径。
c、执行结果会发送邮件给当前用户。
星号(*)匹配所有有效的值。
短横线(-)表示范围连续取值。
逗号(,)表示离散取值。
正斜线(/)指定间隔频率。例如,0-59/2 在分钟字段表示每两分钟。
 
指定的时间点不能被步长整除时,其意义将不存在。例如 */7 * * * *

注意:%在crontab中被认为是newline,使用时需要用 \ 转义。比如crontab文件中,如果有 "date +%Y%m%d",必须替换为:"date +\%Y\%m\%d"。
crontab的最小时间单位为”分钟“,想完成”秒“级任务

分钟    小时       几号       月份     星期几
*/5      *          *         *        *              每5分钟执行一次
3        *          *         *        *              每小时的第3分钟执行一次
3        4          *         *        5              每周5的4点3分执行一次
5        6          7         *        *              每月的7号的6点5分执行一次
7        8          9         10       *              每年的10月9号8点7分执行一次
9        8          *         *        3,7            每周3和周日的8点9分
0        8,20       *         *        3,7            每周3和周日的8点和20点执行一次
0        9-18       *         *        1-5            周一到周五的9-18点,即工作时间内的每小时
0        7          25        12       *              每年的12月25号7点执行一次

查看所有用户的crontab
# for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done  
查看cron的日志
# tail -50f /var/log/cron

 

转载于:https://www.cnblogs.com/hello-wei/p/9512361.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双一流大学毕业的我,应该何去何从?

内卷时代,万物皆可卷!什么是内卷,比如,你在电影院看电影,有一个人站起来了,那么就会有第二个人站起来,没一会儿所有的人就站起来了,但是和坐着相比,站着看电影体验感很差…

接上电就工作的单片机

对于手边的一盒STC单片机,测试一下它们使用相同的ISP方案在下载过程中是否都可以按照相同的方式完成程序的下载。同时对它们建立各自的元器件库,以便于后期的应用。通过这个实验,看到STC的单片机使用起来真实简捷明了,接上电就工作…

我的高中好友

很少写高中同学相关的文章,愿意是现在的生活上和原来的同学交集很少,他们的工作和我做的工作也有很大的差距。再一个是距离远,节假日不能互相走动。昨晚,我开直播。那时候是凌晨1点,然后我看到我一个高中的好朋友进了我…

类的初始化顺序详解

前言 先声明一个常识,类域和局部变量初始化的差异如下, 局部变量不初始化会报错: 类中属性(也称域)不赋初值,默认为0,如果是引用默认为空。 正题 一、类中属性按照定义的顺序初始化 我们声明一个Child类&#xff0c…

工程师的电脑桌面

【0】【1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。------------ END ------------转自黄工的公众号推荐阅读:专辑…

Jmeter JAVA请求

Jmeter Java请求 一、为什么要使用Java请求 现有的post 、 get 无法对加解密及鉴权的接口进行测试,需要进行封装,然后再请求,怎么进行封装?通常使用的方式是使用httpclient 工具类型来操作,下面举一个简单的Java自定义…

我的微信群里有一个外国人

最近,不知道怎么滴,我的微信群里面多了一个外国华人,然后他在群里面分享了他在国外的生活。实话说,我不曾羡慕过在美国生活的人们,我害怕走在街上突然遇到的枪击事件,也害怕每天面对的肯德基汉堡&#xff0…

第一次收到这么用心的感谢信

今天收到一个读者的感谢信心里特别暖,发出来给大家看看说明这很长时间的付出,说的很多话,是对别人是有帮助的,我也希望能够帮助到更多的人,希望大家有方向,有自己对生活的态度,然后坚持自己的理…

android fragment 底部菜单栏,一句话搞定Android底部导航栏,一键绑定Fragment、ViewPager...

现在大多数App都会用到底部导航栏,比如常见的聊天工具QQ、微信、购物App等等,有了底部导航栏,用户可以随时切换界面,查看不同的内容。它的实现方式也很多,以前大多使用TabHost来实现,但是现在我们有很多更好…

Http协议之报文·方法·状态码

【要点】 1. HTTP协议的主要特点2. HTTP报文的组成部分3. HTTP方法4. POST 和 GET的区别5. HTTP状态码【总结】HTTP协议的主要特点 主要特点:简单快速, 灵活, 无连接(非keep-alive),无状态 每个资源URI是固…

MyEclipse 深色主题

Eclipse 是不支持主题的,不过可以通过导入导出perference文件来实现修改文本编辑器配色。 这里是一个深色主题,抓个图给大家看看: 下载地址:http://blog.codefront.net/2006/09/28/vibrant-ink-textmate-theme-for-eclipse/ 这里还…

深入理解嵌入式中重要的编程模型

大家好,我是写代码的篮球球痴。今天我们看一看业界一些著名的编程模型。背景模型是对事物共性的抽象,编程模型就是对编程的共性的抽象。什么是编程的共性呢?最重要的共性就是:程序设计时,代码的抽象方式、组织方式或复…

android v4包自动导入吧,android如何导入v4包的源码

1.我们导入v4包源码却发现没有导入按钮当我们调用android-support-v4.jar里面的控件的时候(这里以android.support.v4.view.ViewPager举例说明),很多时候还需要查看此控件的源码,我们按住Ctrl键点击如下图中的ViewPager之后会出现如下提示出现这个问题的…

【floyd】【bitset】洛谷 P1841 [JSOI2007]重要的城市 题解

bitset玄学完美优化复杂度? 题目描述 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里。而食堂门前施工虽然也截断了原来通向计算中心的路,却没有使路程增加&#xf…

新风口下:嵌入式AI学习中较好的练手项目(附代码资料/学习视频/学习规划)...

有粉丝问我:“当前乃至未来5-10年,嵌入式开发者还有哪些风口?”画外音:风口的本质,其实就是一段时间的人才供需不平衡。说白了就是由于行业突变,敏锐的资本快速进入,导致短时间内行业大量扩张&a…

Windows 任务栏缩略图自定义程序[更新 Build20100830]

很久没有写一点小玩意儿了,今天终于有了一次机会。这个程序能够对 Windows 7 中的任务栏实时预览缩略图进行一系列个性化的调整,使其使用起来更炫更方便,避免了不方便的注册表修改操作,将其转化为方便图形界面,只需要点…

我接的是地啊,不,你接的是土!

作者:晓宇,排版:晓宇微信公众号:芯片之家(ID:chiphome-dy)1、我接地了啊,电子设计中,接地是非常重要的,地可不等于土,哈哈,有效的接地…

邻接矩阵-建立图

1.介绍图的相关概念 图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,…

Busybox 制作文件系统并用 Qemu 启动编译的内核镜像

编译内核操作:https://blog.csdn.net/assiduous_me/article/details/120938556安装Busybox操作:https://blog.csdn.net/assiduous_me/article/details/120939319syzDESKTOP-B10G93S:~$ ls -l total 20 drwxr-xr-x 44 syz syz 4096 Oct 26 22:05 busybox …

深入浅出Win32多线程程序设计之线程通信

简介  线程之间通信的两个基本问题是互斥和同步。  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。  线程互斥是指对于共享的操作系统…