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) 其它任意值,则显示错误压缩工具,并执行非正常退出;
#!/bin/bash
compress_tool=$1
backup_dir="/backups"
date=$(date +%Y%m%d)
if [ $compress_tool == "gzip" ]; then
tar -czvf $backup_dir/etc-$date.tar.gz /etc
elif [ $compress_tool == "bzip2" ]; then
tar -cjvf $backup_dir/etc-$date.tar.bz2 /etc
elif [ $compress_tool == "xz" ]; then
tar -cJvf $backup_dir/etc-$date.tar.xz /etc
else
echo "错误的压缩工具"
exit 1
fi
2.报警脚本,要求如下:
根分区剩余空间小于20%
发送告警邮件给自己
#!/bin/bash
threshold=20
root_partition=$(df -h | grep "/$" | awk '{print $5}' | sed 's/%//')
if [ $root_partition -lt $threshold ]; then
echo "根分区剩余空间小于20%,发送告警邮件给自己"
# 发送邮件的命令
# mail -s "根分区剩余空间不足" your_email@example.com
fi
配合crond每5分钟检查一次脚本
*/5 * * * * /path/to/alert_script.sh