Linux shell 脚本添加环境变量,监控web 服务是否正常

实例1:写shell脚本定义函数设置环境变量路径
prepend() {
[ -d “$2” ] && eval $1="$2${$1:+’:’$$1}" && export $1
}

执行 prepend PATH /opt/myapp/bin
说明:脚本解释

1、执行 prepend PATH /opt/myapp/bin
函数名 第一参数$1 第二参数$2

2、程序的执行过程
[ -d “$2” ] 判断第二参数$2是否为目录如果为真则执行 eval $1="$2${$1:+’:’$$1}"
&& 第一条件成立执行下一个

eval $1="$2${$1:+’:’$ 1 } e v a l " : "   1\} eval 命令是重新运算求出参数的内容 是将第一的参数所制定值的变量设置成第二个参数的值加上" : " (路径分隔符;随后再跟上首个参数的原始值 \ 是转义特殊字符 如“
{$1:+’:’$$1} 判断$1 为空则使用$$1

传参后的结果
eval
PATH = " /opt/myapp/bin KaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+':'PATH}"
PATH

实例2:监控web 服务是否正常
#!/bin/sh
if [ "netstat -lnt | grep 80|awk -F "[ :]+" "] '{print $5}' " = “80”]
#if [ lsof -i tcp:80|wc -l -gt 0 ] 本地监控
#if [ ps -ef |grep httpd|grep -v grep|wc -l -gt 0 ]
#if [ ss -lntup|grep httpd| wc -l -gt 0 ]

wget -T 10 -q --spider http://192.168.0.101 >&/dev/null
curl -s http://192.168.0.101>/dev/null

if [ $? -eq 0 ]
echo “httpd is running”
else
echo “httpd is not running”
/app/apache/bin/apachect1 start
fi
要点说明:
curl 命令 curl是一个利用URL规则在命令行下工作的文件传输工具;命令行访问网站
参数
-s/–silent 静音模式。就是不显示错误和进度

wget 命令inux wget是一个下载文件的工具,它用在命令行下
-T,–timeout=SECONDS 设置超时时间 默认是秒
-q,–quiet 不显示输出信息
–spider 测试是否能正常访问
-t, --tries=NUMBER 设定最大尝试链接次数(0 表示无限制).

猜你喜欢

转载自blog.csdn.net/LINU_BW/article/details/84988272