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\]#

相关推荐
-ONLY-¥5 分钟前
PostgreSQL运维全攻略:从基础操作到远程配置
linux
独小乐21 分钟前
009.中断实践之实现按键测试|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·arm
披着羊皮不是狼26 分钟前
将Ubuntu从C盘移动到D盘
linux·运维·ubuntu
l2ohvef35 分钟前
Windows 7 虚拟机 VMware Tools 安装失败:无法自动安装VSock 驱动程序
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志42 分钟前
从零开始写Linux字符设备驱动:一个不操作硬件的Hello驱动
linux·运维·数据库
Benszen1 小时前
Ansible自动化运维实战
linux·运维·自动化·ansible
艾莉丝努力练剑1 小时前
C++ 核心编程练习:从基础语法到递归、重载与宏定义
linux·运维·服务器·c语言·c++·学习
Trouvaille ~2 小时前
【MySQL篇】从零开始:安装与基础概念
linux·数据库·mysql·ubuntu·c·教程·基础入门
Curtain_Gin2 小时前
windows vim 配置
linux·编辑器·vim
Dontla2 小时前
(龙虾)OpenClaw(原 Clawdbot / Moltbot)常见部署方式介绍(Linux部署、Windows桌面部署)
linux·运维·服务器