当某个目录下的某个文件大小随着时间不断增长时,会威胁到空间问题
今天要求是将/var/spool/mail下的root文件定期回滚-------当文件超过100M时候,将其重命名,名字的格式为 mail.root.YYMMDD.HHMMSS.tar.bz2
并将一周之前的压缩包删掉
之所以将其压缩为bz2格式,是因为它比tar.gz占用的空间更小
脚本内容如下
#!/bin/bash
DATE=`date "+%Y%m%d.%H%M%S"` #压缩包名字的后缀
cd /var/spool/mail/ #进入到当前目录
/usr/bin/find . -type f -name "mail.root.*" -mtime +7 -exec rm {} \; #删除一周前的bz2压缩包
Du=`du -sh root |awk '{print $1}'|tr -d M` #统计文件大小
if [ $Du -gt 100 ] #判断并作出动作
then
tar jcf mail.root.$DATE.tar.bz2 root
echo -n > root
fi