(RHCE)shell脚本

文章介绍了如何编写一个bash脚本,根据传入的参数gzip、bzip2或xz进行归档压缩,并在根分区剩余空间低于20%时发送告警邮件。脚本通过检查参数并调用相应的压缩工具来实现不同的压缩操作。
摘要由CSDN通过智能技术生成
1.写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;

(1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz;

(2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2;  

(3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz;

(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;

1.1 检查安装包
[root@redhot ~]# yum install tar -y
1.2 编写文件
vi bandzip.sh
#!/bin/bash
 
# 获取参数
arg1=$1
 
# 判断参数
if [ "$arg1" = "gzip" ]; then
  # 使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz
  tar -zcvf /backups/etc-20160613.tar.gz /etc
elif [ "$arg1" = "bzip2" ]; then
  # 使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2
  tar -jcvf /backups/etc-20160613.tar.bz2 /etc
elif [ "$arg1" = "xz" ]; then
  # 使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz
  tar -Jcfv /backups/etc-20160613.tar.xz /etc
else
  # 显示错误压缩工具,并执行非正常退出
  echo "错误压缩工具"
  exit 1
fi
2.报警脚本,要求如下:
    根分区剩余空间小于20%
   发送告警邮件给自己
   配合crond每5分钟检查一次脚本

2.1安装相应软件包

yum install crond
systemctl restart cronf
2.2 创建一个新文件
vi alert.sh
#!/bin/bash

# 获取根分区剩余空间
root_free_space=$(df -h / | cut -d " " -f 4)

# 检查根分区剩余空间是否小于 20%
if [ "$root free_space" -lt "20%" ]; then
  # 发送告警邮件
  echo "Root partition usage is below 20%. " | mail -s "Root Partition Alert" 1982177787@qq.com
fi
2.3打开循环控制文件
crontab -e

输入:
*/5**** /bin/basn /root/1.sh
2.4 同时我们也可以给文件一个执行权限
chmod +x /xxx/xxx.sh 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值