一,脚本


#!/bin/sh

DIR=/data/ascenlink/logs


#T=`find $DRI/* -type f -mtime +365`

#rm -rf $T


I=$(df -h |grep -v data2 |awk '/data/ {gsub ("'%'","");print $4}')

if [ $I -gt 95 ];then

mv $DIR/*.tar.gz /data2/backuplog

echo "No enough Free Disk Space for backup" >> /home/ascenlink/backuperror.log

fi


while true

CPU=$(vmstat 1 1 |awk '{print $13 }' |sed -n 3p)

MEM=$(free -m |awk '/Mem/ { print $3}')

do

        if [[ $CPU -gt 90 ]] || [[ $MEM -gt 8000 ]];then

sleep 5m

else

        break

fi

done


#DATE=`date +%Y-%m-%d%H%M`

cd /data/ascenlink/logs/

#LOG=`find ./ -type f -mtime -31 -print |xargs`

#wait

#tar -zcvf /data/ascenlink/logs/ascenlink.$DATE.tar.gz $LOG >/dev/null 2>&1


A=`date -d "-1 months" |awk '{print $2}' |sed -n 1p`

DATE=`date -d "-1 months" +%Y-%m-%d%H%M`


tar -zcvf /home/ascenlink/ascenlink.$DATE.tar.gz $(ls -l |grep $A |awk '{ print $9 }') >/dev/null 2>&1


二,定期执行任务时间


执行时间为每月一号,1点1分对上一个月的日志文件进行打包


cat /etc/crontab


1 1 1 */1 * ascenlink /bin/sh /home/ascenlink/logbackup.sh >/dev/null 2 >&1



2010-02-21