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.关闭防火墙和关闭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" in ? ? ? 1) 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 ······ 因为我写入的信息有-v选项,所以会列出来4.如果输入错误的话,也会显示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
要求如下: 根分区剩余空间小于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] then ? ? ? echo 内存报警 | 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
?后面当我们的根内存使用了很多,小于20%后就可以接受到warning消息了!