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#

相关推荐
s65166549614 分钟前
IDT和GDT是什么
linux
Android系统攻城狮37 分钟前
Linux Gstreamer深度解析之gst_audio_decoder_set_estimate_rate调用流程与实战(四十五)
linux·gstreamer音视频·音视频进阶
FED_AF43 分钟前
Linux运维“邪修”功法之通配符
linux·运维
箓维1 小时前
线程的概念和理解
linux
云杂项1 小时前
tmux指南:安装、配置与高效使用(Ubuntu上)
linux·服务器·ubuntu
j7~2 小时前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
GeW2 小时前
智能工厂背后:Linux在跑,数据库在扛,高端制造在加速
linux
qq_394562002 小时前
【在Linux上升级nginx】
linux·服务器·nginx
Tairitsu_H3 小时前
[Linux系统] 基础IO核心 | 系统接口 | 文件描述符 | 重定向
linux·服务器·文件操作
嵌入式-老费3 小时前
esp32开发与应用(用Python+PySide6解决上位机开发)
linux·单片机·嵌入式硬件