回复 9# q1208c
非常感谢,今天我对脚本进行了更新,请查看是否正确,主要是实现/var/log下三个月之前的日志文件压缩成按月的tar.gz包后,将它进行删除。
#!/bin/bash
filelist=$(ls -l /var/log|grep "^-"|awk '{print $9}')
for filename in $filelist
do
filedate=`date "+%Y%m" -r $filename`
if [ ! -d $filedate ]
then
mkdir -p $filedate
fi
cp $filename $filedate
done
Documentlist=$(ls -l /var/log|grep "^d"|awk '{print $9}')
for Documentname in $Documentlist
do
if [ ! -f $Documentname.tar.gz ]
then
tar -zcvf /var/log/$Documentname.tar.gz $Documentname
cp /var/log/$Documentname.tar.gz /tmp
rm -rf /var/log/$Documentname.tar.gz
rm -rf /var/log/$Documentname
fi
done
find /var/log/* -mtime +90|xargs rm -rf
对于其中的这一句cp /var/log/$Documentname.tar.gz /tmp
后期有存储设备的话,我会直接使用scp命令,将它备份至存储上
|