手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >Shell脚本定时备份清除运行系统日志的代码
Shell脚本定时备份清除运行系统日志的代码
摘要:一、写备份并清除老日志Shell脚本:复制代码代码如下:#!/bin/sh#backupeoslog#authorrhao#date2008...

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

复制代码 代码如下:

#!/bin/sh

#backup eoslog

#author rhao

#date 2008-12-27

#定义环境变量

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

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 "Can't change to $LOG_DIR."

exit $E_XCD

fi

tail -$lines messages > mesg.temp

mv mesg.temp messages

echo "Logs cleaned up."

exit 0

【Shell脚本定时备份清除运行系统日志的代码】相关文章:

shell脚本实现随机生成10个8位密码

Shell脚本学习指南之文本处理工具

Shell脚本8种字符串截取方法总结

VPS自动备份数据库到FTP的脚本代码

Shell脚本中调用、引用、包含另外一个脚本文件的两种方法

Shell脚本批量添加扩展名的两种方法分享

Shell脚本break和continue命令简明教程

Shell脚本实现根据端口号kill相应进程功能

shell脚本函数:控制颜色、定位、居中显示的代码

Shell脚本判断IP地址是否合法的方法

精品推荐
分类导航