当前位置: 首页 > news >正文

【Linux】压缩脚本、报警脚本

一、压缩搅拌

要求:

写一个脚本,完成如下功能 传递一个参数给脚本,此参数为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.关闭防火墙和关闭selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
​
2.编辑一个文件
[root@localhost ~]# vim compress.sh
写入信息:
#!/bin/bash
echo 1:gzip
echo 2:bzip
echo 3:xz
read -p "请输入序号指定打包压缩类型:" var
case "$var" in1) tar zcvf /backups/etc-`date +%F%T`.tar.gz /etc/* ;;2) tar jcvf /backups/etc-`date +%F%T`.tar.bz2 /etc/* ;;3) tar Jcvf /backups/etc-`date +%F%T`.tar.xz /etc/* ;;*) echo 显示错误压缩工具;exit 3 ;;
esac3.运行并测试脚本
[root@localhost ~]# bash compress.sh
1:gzip
2:bzip
3:xz
请输入序号指定打包压缩类型:1
······5.为了测试,写入一个想要测试的文件或目录
[ -d /backups ] || mkdir /backups ]  #查看/backups是否为目录文件 如果不是则创建目录文件
注意:[]两边有空格!!!
​
[root@localhost ~]# ll /backups
开始的时候,会不存在!
[root@localhost ~]# bash compress.sh
1:gzip
2:bzip
3:xz
请输入序号指定打包压缩类型:1
他就会以gzip的格式压缩!
[root@localhost ~]# ll /backups
总用量 73880
-rw-r--r--. 1 root root 16007063  1月 16 10:17 etc-2024-01-1610:17:06.tar.gz

作业2.报警脚本

要求:

根分区剩余空间小于20%

发送告警邮件给自己

配合crond每5分钟检查一次脚本

 操作:

1.先安装邮件服务相关包
[root@localhost day1]# yum install mailx
​
2.编辑邮件系统文件
[root@localhost ~]# vim /etc/mailbox.rc
set from = 17383676157@163.com   #自己的邮件名
set smtp=smtp.163.com
set smtp-auth-user=17383676157@163.com
set smtp-auth-password=输入自己的授权码(这里我没写入哈)
set smtp-auth=login

以下是邮件密钥获取方式

点击设置 --- POP3/SMTP/IMAP

点POP3/SMTP服务后面的开启!

就会获得一个密钥!!

将获取到的密钥写入到创建的文件中!!

3.编辑脚本
[root@localhost ~]# vim mail.sh
#!/bin/bash
#根剩余内存
free_mem=`df -h  grep -w /  tr -s """"cut -d "" -f 5  cut -d %-f1`
mem=$[100-free_mem]
if [$mem -lt 20]
thenecho 内存报警 | mail -s "warning" -a /a.txt 17383676157@163.com < /a.txt
​
fi
​
4.写好周期性任务计划
[root@localhost ~]# crontab -e
#分 时 日 月 周
*/5 * * * * bash /mail.sh
​
5.查看编辑的任务
[root@localhost ~]# crontab -l
#分 时 日 月 周
*/5 * * * * bash /mail.sh

http://www.lryc.cn/news/291925.html

相关文章:

  • 用Flask打造一个大模型智能问答WEB网站
  • 学习python第三天
  • (M)UNITY三段攻击制作
  • PHP的线程安全与非线程安全模式选哪个
  • asdf安装不同版本的nodejs和yarn和pnpm
  • Spring的事件监听机制
  • Zookeeper分布式命名服务实战
  • DEV-C++ ege.h库 绘图教程(六)
  • MySQL原理(一)架构组成之物理文件组成
  • 代码随想录算法训练营第三十七天 | 738.单调递增的数字、 968.监控二叉树
  • 【Django-ninja】django-ninja的hello world
  • ArrayList集合初始化长度是多少,初始化的时候分配内存空间吗
  • C语言数组:从入门到进阶
  • 9.回文数
  • 一分钟在SpringBoot项目中使用EMQ
  • SOME/IP 协议介绍(七)传输 CAN 和 FlexRay 帧
  • 与数组相关经典面试题
  • 数据结构与算法面试系列-02
  • CMake 完整入门教程(五)
  • pgsql中with子句和直接查询差别
  • Day 31 | 贪心算法 理论基础 、455.分发饼干 、 376. 摆动序列 、 53. 最大子序和
  • vue3使用is动态切换组件报错Vue received a Component which was made a reactive object.
  • React16源码: React中LegacyContext的源码实现
  • Gin 框架之jwt 介绍与基本使用
  • 从[redis:LinkedList]中学习链表
  • Prometheus+grafana配置监控系统
  • Linux之安装配置CentOS 7
  • 神经网络与深度学习Pytorch版 Softmax回归 笔记
  • git学习及简单maven打包
  • 如何用MapTalks IDE来发布网站?