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#

相关推荐
2401_8628808234 分钟前
Linux应用层开发 --- UDP&TCP
linux·运维·tcp/ip·udp
xie0510_2 小时前
TCP socket
linux·网络协议·tcp/ip
aningx2 小时前
# EasyTier 开机自启动部署教程
linux
DeeplyMind2 小时前
Linux 内核模块加载路径与 initramfs 生效机制分析
linux·initramfs·depmod·modprobe
Horn Still Sounds2 小时前
Linux网络编程|UDP与TCP传输层协议深度梳理
linux·网络·tcp/ip·udp
Mortalbreeze3 小时前
深入理解 Linux IO 模型(一):阻塞 IO、非阻塞 IO 与信号驱动 IO
linux·运维·服务器
一直C3 小时前
Linux应用软件编程|TCP协议与Socket全套编程(三次握手、四次挥手、报文头部、核心机制)
linux·网络协议·tcp/ip·wireshark·vim·visual studio
2301_780789664 小时前
CDN提供商常用的DDoS缓解技术与策略
linux·运维·服务器·人工智能·架构
夏炳辉.4 小时前
Rocky Linux 8 从零安装 psql(PostgreSQL 客户端)
linux·运维·postgresql
β添砖java4 小时前
学习笔记:实战章节:在Linux上部署各类软件
linux·笔记·学习