Docker学习(二)——编写shell脚本

@TOC

一、编写登录欢迎脚本welcome.sh

要求:在用户目录/root下编写存储welcome.sh脚本,赋予执行权限,并在~/.bash_profile中调用该脚本,使得在用户登录时显示欢迎信息

   uname -a   # 查看内核/操作系统/CPU信息
   head -n 1 /etc/issue   # 查看操作系统版本 
   env   # 查看环境变量资源
   free -m  # 查看内存使用量和交换区使用量 
   df -h  # 查看各分区使用情况
   uptime  # 查看系统运行时间、用户数、负载
   ifconfig  # 查看所有网络接口的属性
   w  # 查看活动用户 
   last  # 查看用户登录日志 

命令:

# cd /root
# vi welcome.sh 

welcome.sh

	#!/bin/bash
	echo welcome
	uname -a 

保存后,重启虚拟机即可见到结果。
在这里插入图片描述

二、编写status、 start、stop脚本管理系统服务

要求:在/root/bin目录下编写status、 start、stop脚本,可以根据脚本后面的服务名称分别显示服务状态、开启服务、停止服务

fuwu.sh

	if [ -f "/etc/init.d/$1" ];then   #服务是否存在  
	echo "存在此服务"
	systemctl $2 $1               #服务开启或关闭操作
	systemctl status $1             #展示对应信息
	else
	echo "不存在这个服务"            #服务不存在
	fi

运行命令

# chmod u+x fuwu.sh
# ./fuwu.sh network

在这里插入图片描述

三、编写系统监控脚本sysmon.sh

要求:在/root/bin目录下编写脚本,监控系统中内存、cpu、磁盘的占用率;赋予脚本文件执行权限,执行脚本检查效果(截图);设置计划任务每分钟执行一次脚本。

sysmon.sh

# Colors
red='\033[31m' # 定义红色
green='\033[32m' # 定义绿色
white='\033[37m' #定义白色

#memory_used_rate
LoadMemory=$(cat /proc/meminfo | awk '{print $2}')
Total=$(echo $LoadMemory | awk '{print $1}')
Free1=$(echo $LoadMemory | awk '{print $2}')
Free2=$(echo $LoadMemory | awk '{print $3}')
Free3=$(echo $LoadMemory | awk '{print $4}')
Used=`expr $Total - $Free1 - $Free2 - $Free3`
Used_Rate=`expr  $Used/$Total*100 | bc -l`
Memory_Used_Rate=`expr  $Used_Rate/1 | bc`

#disk_used_rate
Location=/dev/sda1
Disk_Used_Rate=$(df -h | grep $Location | awk '{print $5}')

#cpu_used_rate
Log=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
Free=$(echo $Log | awk '{print $4}')
Total=$(echo $Log | awk '{print $1+$2+$3+$4+$5+$6+$7}')
Cpu_Used=`expr $Total - $Free`
Cpu_Used_Rate=`expr  $Cpu_Used/$Total*100 |bc -l`

echo -e "${white}+--------------------------------------------------------"

echo -e "${green} 内存使用率:${red}"$Memory_Used_Rate%
echo -e "${green} 磁盘使用率:${red}"$Disk_Used_Rate
echo -e "${green} Cpu使用率:${red}"$Cpu_Used_Rate%

echo -e "${white}+--------------------------------------------------------"

if [ $Memory_Used_Rate -gt 10 ]
then echo "内存使用率:$Memory_Used_Rate%" |mail -s "内存告警" root
fi

执行结果
在这里插入图片描述

四、编写FTP探测脚本scanhost.sh

要求:在/root目录下编写脚本,扫描给定IP网段中的ftp服务器;赋予脚本执行权限,扫描某个网段。

scanhost.sh

# 输入想要查询的ip段
IP1=`echo $1 |awk -F"." '{print $1}'`
IP2=`echo $1 |awk -F"." '{print $2}'`
IP3=`echo $1 |awk -F"." '{print $3}'`
IP4=`echo $1 |awk -F"." '{print $4}'`

# 开始连接
wget  ftp://$IP1.$IP2.$IP3.$IP4 &>null

# 如果连接成功
if [ $? -eq 0 ]
then echo "$IP1.$IP2.$IP3.$i is open"
fi

命令:

# ./scanhost.sh 192.168.111.133
# cat null

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值