Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66176
  • 博文数量: 21
  • 博客积分: 100
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-30 09:56
文章分类

全部博文(21)

文章存档

2013年(18)

2012年(3)

我的朋友

分类: LINUX

2013-08-09 11:03:13


点击(此处)折叠或打开

  1. #!/bin/bash
  2. ##############################
  3. # The: CaiJiangFeng
  4. # From: Baustem
  5. # Date: 2013-07-03
  6. # Use:
  7. #    crontab -e
  8. #    add: 01 05 * * * sh /yourpath/rmlog.sh
  9. #    
  10. ##############################

  11. j_logpath=/opt/jboss-4.2.2.GA/server/default/log
  12. l_logpath=/opt/sun/local/ds/logs
  13. savelognub=7
  14. blur_j_logname=server.log.20
  15. blur_l_logname=access.20
  16. bakhome=/home/ipanle/baustem/logbak
  17. daytag=$bakhome/daytag
  18. DATE=`date +%Y%m%d`
  19. [ -d $bakhome ] || mkdir -p $bakhome

  20. dellog () {
  21. path=$1
  22. name=$2
  23. days=$3
  24. for logfile in `ls $path/$name*`
  25.     do
  26.         logtime=`stat $logfile -c %Y`
  27.         nowtime=`date +%s`
  28.         ndaystime=$(($nowtime - 36000 * $days))

  29.         if [ $ndaystime -gt $logtime ];then
  30.             rm -fr $logfile;
  31.         fi
  32. done
  33. }

  34. baklog () {
  35.         mkdir -p $bakhome/$DATE
  36.         cd $j_logpath
  37.         mv $blur_j_logname* $bakhome/$DATE
  38.         cd $l_logpath
  39.         mv $blur_l_logname* $bakhome/$DATE
  40.     for bak in $(ls -l $bakhome|grep ^d|awk '{print $8}')
  41.         do
  42.         if [ $bak -ne $DATE ];then
  43.             rm -fr $bakhome/$bak
  44.         fi
  45.     done
  46. }

  47. #OK
  48. if [ -f $daytag ];then
  49.     agoday=`cat $daytag`
  50.     if [ -z $agoday ];then
  51.         echo $DATE > $daytag
  52.         exit 100
  53.     fi
  54.     mvdays=$(($(date +%Y%m%d) - $agoday))
  55. fi

  56. if [ $mvdays -ge 2 ];then
  57.     if [ $? -eq 0 ];then
  58.         dellog $j_logpath $blur_j_logname $savelognub
  59.         echo "`date` del ok." >> $bakhome/baustem.log
  60.     fi
  61.     disksize=`df -m|sed -n '3'p|awk '{print $3}'`
  62.     if [ $disksize -le 300 ];then
  63.      baklog;
  64.      echo "`date` bak ok." >> $bakhome/baustem.log
  65.         echo $DATE > $daytag
  66.     fi
  67. else
  68.         echo "`date` skip." >> $bakhome/baustem.log
  69. fi

阅读(1093) | 评论(0) | 转发(0) |
0

上一篇:监控设备是否宕机

下一篇:光标旋转函数

给主人留下些什么吧!~~