-
按时备份并清除体系日记的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