按时备份并清除体系日记的shell代码

    添加时间:2013-6-11 点击量:

    一个备份并清除老日记Shell脚本,并附有一个清除日记(log)的shell脚本。


    一、备份并清除老日记Shell脚本:



    #!/bin/sh
    
    #backup eoslog
    #author www.jbxue.com

    #定义景象变量

    EOS_HOME=/home/eos
    SAS_HOME=/home/eos/SAS

    # 测试主辅结点
    if test -d /home/eos/SAS/SAS1_web1
    then
    SAS_LOG_HOME=¥SAS_HOME/SAS1_web1/SAS_Domain/bin
    else
    SAS_LOG_HOME=¥SAS_HOME/SAS2_web1/SAS_Domain/bin
    fi

    # 定义并创建日记备份目次
    SAS_LOG_BAK_HOME=¥EOS_HOME/saslog/
    mkdir -p ¥SAS_LOG_BAK_HOME

    # 切换目次为EOS日记文件目次
    cd ¥SAS_LOG_HOME

    # 获取当前体系日期
    TODAY=`date +%Y%m%d`

    # 备份当前日记
    cp nohup.out ¥SAS_LOG_BAK_HOME/¥TODAY.log

    # 清除当前日记
    touch nohup.null
    cp nohup.null nohup.out -f
    rm nohup.null

    # 清除七天前的日记
    for rmfile in `find ¥SAS_LOG_BAK_HOME -ctime +7 `;
    do /bin/rm -rf ¥rmfile;
    done


    二、将脚本参加操纵体系的crontab 中,直接VI参加即可



    [eos@xcfwbz1 SAS]¥ crontab -l
    

    59 23 /home/eos/SAS/backup_eoslog.sh


    上方默示天天23:59分履行该脚本


    清除日记(log)的shell脚本



    #!/bin/bash
    
    #by www.jbxue.com
    LOG_DIR=/var/log
    ROOT_UID=0
    LINES=50
    E_XCD=66
    E_NOTROOT=67
    if [ ¥UID -ne ¥ROOT_UID ]
    then
    echo Must be root to run this script.
    exit ¥E_NOTROOT
    fi
    if [ -n ¥1 ]
    then
    lines=¥1
    else
    lines=¥LINES
    fi
    cd ¥LOG_DIR
    if [ `pwd` != ¥LOG_DIR ]

    then
    echo Cant change to ¥LOG_DIR.
    exit ¥E_XCD
    fi
    tail -¥lines messages > mesg.temp
    mv mesg.temp messages
    echo Logs cleaned up.
    exit 0


      

    我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
    分享到: