【用shell脚本监视进程,崩溃挂掉后自动重启】教程文章相关的互联网学习教程文章

shell脚本安装rocketmq主从样例【代码】【图】

自定义参数 ROCKETMQ_NAME= #服务全名 ROCKETMQ_PATH= #安装路径 TEMP_PATH= #临时目录 USER_NAME= #启动用户部署参数检查 #!/bin/bash# 检查参数是否设置 echo "=====检查参数是否设置=====" if [ ! $ROCKETMQ_PATH ];thenecho "=====$ROCKETMQ_PATH 此参数未设置,请检查!====="exit 1 fiif [ ! $ROCKETMQ_NAME ];thenecho "=====$ROCKETMQ_NAME 此参数未设置,请检查!====="exit 1 fiisServerExist=$(ps -ef | grep $ROCKETMQ...

用shell脚本监视进程,崩溃挂掉后自动重启

原文链接:http://blog.chinaunix.net/uid-116213-id-159156.html用shell脚本监视进程,崩溃挂掉后自动重启 如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题。在Linux系统中,强大的shell就可以很灵活的处理这样的事务。 下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动。 必须注意...

shell脚本与crontab定时器的运用【代码】

crond服务 以守护进程方式在无需人工干预的情况下来处理一系列作业和指令的服务crond服务的启停命令: # 查看状态 systemctl status crond.service # 启动服务 systemctl start crond.service # 重启服务 systemctl restart crond.service # 停止服务 systemctl stop crond.servicecrontab定时器的使用 语法:crontab [选项] crontab -l # 列出crontab有哪些任务 crontab -e # 编辑crontab任务 crontab -r # 删除crontab的所有任...

shell脚本编程之For循环【代码】【图】

for循环 shell脚本中for循环可以自动化处理一些事物,在本博客中,作者将会结合几个示例讲解for循环的使用方法 for循环标准结构 for 语句 do执行语句 done示例利用for循环实现1-15数字累加#!/bin/bashj=0 for i in `seq 1 15` doj=`expr $i + $j` done echo $j 其中代码中for i in `seq 1 15` 中需要注意添加 也就是键盘上面的波浪号键。其作用为代表引号内部为shell命令。exprexprexpr表示两个数相加查找指定目录下所有的log文件...

我的第一个shell 脚本 用作快速复制已安装的rpm包

#!/bin/basha=1while truedo p=`echo $a` name=`awk NR==$p isaname.txt` name1=${name%*.rpm} #将结尾的.rpm去除 echo "$name1" if [ -z "$name" ];then echo "finish" break firet=` grep $name1 local.txt` if [ -n "${ret}" ]; then cp -rf $name ./test echo $name1 fi((a++))done

Shell 脚本中的文件名匹配和命令执行【图】

理解下 shell 脚本中的文件名匹配和命令执行的顺序与结果。我们学习这个的目的是可以熟悉的在 shell 脚本中写出快速的找到文件的命令。它可以匹配文件名中的任何字符串,匹配文件名中的单个字符以及匹配文件名中的字母或数字符号。 首先我们来看看匹配文件的符号的定义,匹配字符串类型的符号称之为元字符。匹配文件名中的任意字符串,同时也包括空字符串。 举例:ls /etc/*.conf ls /etc/h*.co*f。结果如下我们看到成功的匹配到了...

19 shell脚本--010awk【代码】

awk 【单独的编程语言解释器】1、awk介绍   全称:Aho Weinberger Kernaighan 三个人的首字母缩写;1970年第一次出现在Unix机器上,后来在开源领域使用它;   所以,我们在Linux中使用,改名为GNU awk;所以,在Linux上实际上叫做gawk;grep 行过滤器   -o -i -v -E grep egrep fgrep【写什么就匹配什么】   sed 行编辑器       -n p 1、地址定界 3,5,/pat/【e】 2、命令 p a \ i \ w c \ s/pat/str/g|1|2..|& ...

shell脚本至计算1到100之间的奇数和与偶数和【代码】

计算1到100之间和奇数和与偶数和#!/bin/bash Evensum=0 ODDsum=0 for i in {1..100};doif [ $(( i%2 )) -eq 0 ];thenlet Evensum+=$ielselet ODDsum+=$ifi done echo "Evensum is $Evensum" echo "ODDsum is $ODDsum" ~

两个简单的shell脚本(关于启动和服务)【图】

实验要求:1、为root用户编写登陆欢迎脚本,报告当前主机中的进程数,已登陆用户数,根文件系统的磁盘使用率2、编写三个脚本程序:start,stop和status,用来启动,停止各种系统服务实验步骤:[root@localhost ~]# vi welcome.sh#!/bin/bash# this is test.by shengjiep=`ps aux | wc -l` //设置变量pecho "Running Processes:$p"u=`who | wc -l` //设置变量uecho "Login users:$u"d=`df -hT | grep "/$" | awk ‘{print $6}‘`...

shell脚本之grep的使用方法

笔者最近在使用shell脚本中处理字符串,因此使用了大量shell脚本中的四剑客(awk,grep,sed,cut)而其中使用最多的两种方法就是grep和awk,因此想总结整理一下。  一、grep的意义  二、grep的基本用法  三、awk的意义  四、awk的基本用法  五、实例说明两者怎么用  一、grep的意义    首先,grep是用来处理行数据的基本命令集,简单来说它的使用意义就在于当你想要找到某个文件中的某个字符串以及它相关联的信息...

shell脚本学习---字串截取

shell是一个非常简单的编程语言,所以,如果你的脚本程序复杂度较高,或者要操作的数据结构比较复杂,那么还是应该使用Python、Perl这样的脚本语言。它的函数只能返回字串,无法返回数组 它不支持面向对象,你无法实现一些优雅的设计模式 它是解释型的,一边解释一边执行,连PHP那种预编译都不是,如果你的脚本包含错误(例如调用了不存在的函数),只要没执行到这一行,就不会报错。 假如待截取的字串 var="https://i.cnblogs.com/...

shell脚本中自动输入密码

最近刚学会的scp自动输入密码。 #!/bin/bashset -xTIME=`date +%Y%m%d%H%M%S`SOURCE=‘/home/cqq/project‘PASSWD=‘123‘tar zcvf ${TIME}.tar.gz $SOURCE >>/dev/null 2>&1expect -c " spawn scp -r root@192.168.1.132:/home/cqq/project/src/ /home/test/ expect { \"*assword\" {set timeout 300; send \"$PASSWD\r\";} \"yes/no\" {send \"yes\r\"; exp_continue;} }expect eof"#startall && echo "updat...

shell脚本——项目1

案例名称:系统初始化 背景:10台已装有linux系统的服务器 需求: 1.设置时区同步 2.禁用selinux 3.清空防火墙策略 4.历史命令显示操作时间 5.禁止root远程登录 6.禁止定时任务发送邮件 7.设置最大打开文件数 8.减少Swap使用 9.系统内核参数优化 10.安装系统性能工具及其他 脚本具体内容 #!/bin/bash#Set time zone and together timeif ls /etc/localtime >/dev/null 2>&1;then rm -f /etc/localtimefiln -s /usr/share/zone...

案例一:shell脚本指定日期减去一天【代码】

如果只减去一天的话,直接写就可以了。 #date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数, #date -d"10 day ago 2015-04-01" +%Y-%m-%d在指定的日期上加上指定的小时 [dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 3 hour" +"%Y%m%d%H" 2015041615在指定的日期上减去指定的小时 [dc@dc010.tj.momo.com init_env]$ date -d "20150416 12 -1 hour" +"%Y%m%d%H" 2015041611在指定的...

beanshell脚本常用的--值得收藏【代码】【图】

import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; try{ Date date =new Date(); //获取当前时间 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String nowDate = sf.format(date); Calendar cal = Calendar.getInstance(); cal.setTime(sf.parse(nowDate)); cal.add(Calendar.DAY_OF_YEAR,+0); String orderDate = sf.format(cal.getTime()); cal.add(Calendar.DAY...