Linux shell脚本(一)

监控内存和磁盘容量,小于给定值时报警

bash 复制代码
[root@linux-lyz test1]# ./monitor.sh &
[1] 23110
# 提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}')

# 提取内存剩余空间
mem_size=$(free | awk '/Mem/{print $4}')
while :
do
# 注意内存和磁盘提取空间大小都是kb为单位
if [ $disk_size -le 512000 -a $mem_size -le 1024000 ]
then
        mail -s "Warning"  root  <<EOF
        Insufficient resoureces,资源不足
EOF
  fi
        sleep 60
done

命令行

root@linux-lyz test1# chmod +x monitor.sh

root@linux-lyz test1# ./monitor.sh &

1 23110

root@linux-lyz test1# vim monitor.sh

nginx 启动脚本

bash 复制代码
program=/usr/local/nginx/sbin/nginx
pid=/usr/local/nginx/logs/nginx.pid
start(){
if [ -f $pid ];
then
  echo  "nginx 服务已经处于开启状态"
else
  $program
fi
stop(){
if [ -! -f $pid ];then
  echo "nginx 服务已经关闭"
else
  $program -s stop
  echo "关闭服务 ok"
fi
}
status(){
if [ -f $pid ];
then
  echo "服务正在运行..."
else
  echo "服务已经关闭"
fi
}

case $1 in
start)
  start;;
stop)
  stop;;
restart)
  stop
  sleep 1
  start;;
status)
  status;;
*)
  echo  "你输入的语法格式错误"
esac

命令行

root@linux-lyz init.d# service nginx start

nginx 服务已经处于开启状态

root@linux-lyz init.d#

相关推荐
实心儿儿几秒前
Linux —— 线程互斥和同步
linux
minji...1 分钟前
Linux 高级IO(七)多进程、多线程的Reactor反应堆模式扩展、OTOL
linux·运维·c++·多路转接·epoll·reactor反应堆模型
handler012 分钟前
【Linux 网络】:poll/epoll 底层机制与 Reactor 并发模型
linux·运维·服务器·网络·c++·多路转接·多路复用
kebidaixu4 分钟前
深入解析 Linux GPIO 采集与控制程序(DI/DO 篇)
linux
霸道流氓气质6 分钟前
导入历史跟踪机制实战指南
java·linux·服务器
肖爱Kun7 分钟前
GB28181启动传参的设计
linux·服务器·数据库
剑神一笑11 分钟前
Linux systemctl 服务管理命令:从 systemd 架构到实战技巧
linux·服务器·架构
艾莉丝努力练剑16 分钟前
【Linux网络】传输层协议TCP(六)补充 - 面试题:HTTP 获取网页的完整过程
linux·运维·网络·tcp/ip·计算机网络·http·udp
norsd17 分钟前
CentOS Rocky Linux 设置 ip
linux·tcp/ip·centos
minji...23 分钟前
Linux高级IO(六)基于ET模式、单reactor反应堆的epoll版本的TCP计算服务器
linux·服务器·网络·c++·epoll·socket套接字·reactor反应堆模式