nginx_daemon.sh #!/bin/bash # this_pid=$$ while true do ps -ef | grep nginx | grep -v grep | grep -v $this_pid &> /dev/null ];then echo "nginx is ok" else systemctl start nginx echo "nginx is down,starting it..." fi done 执行脚本 后台…
一些经常使用的Shell编程(脚本)命令和语句,能够满足一般需求. 接收到的命令參数: 參数个数: $# 參数值: 命令本身:$0 第一个參数:$1 第二个參数:$2 -- 退出命令: exit echo命令: 换行: echo 输出后不换行: echo -n "请选择(y/n)?" 输出后不换行,并把光标移到最左(以便下次输出覆盖当前行) echo -ne "$i\r" 利用转义符号输出双引號: echo "欢迎使用\"正式server\&qu…
目录 什么是Shell 什么是Shell脚本 Shell脚本语言的种类 常用操作系统默认Shell Shell 脚本的建立和执行 脚本规范 什么是Shell     简单来说Shell其实就是一个命令解释器,而它的作用就是解释并执行用户输入的命令及程序.用户每输入一条命令,Shell就解释执行一次.这种方式很容易让大家想起在Windows环境中使用的command命令,我们在cmd窗口输入一条命令,按下Enter键,则执行相应的命令和结果.     Shell位于操作系统的最外层,对外提供与用户…
目录 Shell脚本规范 Shell脚本调试 Shell脚本规范     良好的代码规范不仅方便阅读,也利于维护和提升开发效率.因此建议大家在编写Shell脚本时养成良好的代码习惯.今天就和大家探讨一下在Shell脚本中的一些规范,详细如下所示: 1.在Shell脚本中,第一行指定脚本解释器,如下所示: #!/bin/bash 或 #!/bin/sh 2.在Shell脚本中填写代码作者.日期.版权等信息,便于协同开发 3.Shell脚本中的注释,尽量采用英文注释,避免中文注释,可避免本机或切换系…
1处理信号 1.1信号表 编号 信号名称 缺省操作 解释 1 SIGHUP Terminate 挂起控制终端或进程 2 SIGINT Terminate 来自键盘的中断 3 SIGQUIT Dump 从键盘退出 4 SIGILL Dump 非法指令 5 SIGTRAP Dump 跟踪的断点 6 SIGABRT Dump 异常结束 6 SIGIOT Dump 等价于SIGABRT 7 SIGBUS Dump 总线错误 8 SIGFPE Dump 浮点异常 9 SIGKILL Terminate 强…
由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. 一.轮询监控实现: 1. 使用crontab,缺点一分钟轮询一次 2. 使用shell死循环进行轮询 参考:https://blog.csdn.net/u011261430/article/details/72921991 由于我们系统使用人数比较少,所以我选择crontab进行轮询 二.环境变量…
1 #!/bin/bash 2 #要求:检查本机是否已编译安装nginx,检查本机是否存在nginx源码包,编译安装nginx,实现开启.停止.查看状态等功能 3 #检查是否已编译安装nginx 4 while : 5 do 6 read -p "本机是否安装nginx?yes查看nginx状态,no跳转至安装nginx(yes/no):" wh_do 7 if [ "$wh_do" == "no" ];then 8 while : 9 do 1…
1. 使用多个命令 如果要两个命令或者多个命令一起运行,可以把它们放在同一行中,彼此间用分号隔开. 2. 创建 shell 脚本文件 例如: #!/bin/bash # This script displays the date and who's logged on date who 这就是脚本的所有内容了.可以根据需要,使用分号将两个命令放在一行上,但在shell脚本中,你可以在独立的行中书写命令.shell会按根据命令在文件中出现的顺序进行处理. 3 显示消息 可以将echo语句添加到sh…
转载地址:http://www.cnblogs.com/pipelone/archive/2009/04/17/1437879.html 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditP…
# vi /usr/local/nginx/sbin/nginx_restart.sh 贴入一下代码: #!/bin/bash #www.xmsolink.com #Monitor nginx service #check root user if [ $(id -u) != "0" ] then echo "Not the root user! Try using sudo command!" exit 1 fi netstat -anop | grep 0.0.…