Shell脚本定时备份清除运行系统日志的代码

 更新时间:2013年02月23日 15:21:49   作者:  
写备份并清除老日志Shell脚本,并附带一个清除日志(log)的shell脚本代码,需要的朋友可以参考下

一、写备份并清除老日志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输出重定向的实现

    本文主要介绍了shell输出重定向的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 检测网段IP使用情况的shell脚本

    检测网段IP使用情况的shell脚本

    检测网段IP使用情况的shell脚本,有需要的朋友可以参考下
    2013-02-02
  • npm script命令同时进行多个监听服务的方法

    npm script命令同时进行多个监听服务的方法

    这篇文章主要介绍了npm script命令同时进行多个监听服务的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • Linux find命令及实用示例详解

    Linux find命令及实用示例详解

    Linux系统中的find命令是用于搜索文件和执行操作的强大工具,通过指定搜索路径和条件,用户可以查找特定文件名、类型、权限等,并执行如打印路径、删除文件等操作,文章通过多个示例,展示了find命令在实际应用中的用法,感兴趣的朋友一起看看吧
    2024-10-10
  • 用内置变量调试shell脚本的方法

    用内置变量调试shell脚本的方法

    这篇文章主要介绍了用内置变量调试shell脚本的方法,需要的朋友可以参考下
    2014-03-03
  • Shell中case...in分支语句的应用

    Shell中case...in分支语句的应用

    shell作为一种脚本编程语言,同样包含循环、分支等其他程序控制结构,从而轻松完成更加复杂、强大的功能,本文主要介绍了Shell中case...in分支语句的应用,感兴趣的可以了解一下
    2023-08-08
  • shell脚本从SVN推送到多台服务器的代码

    shell脚本从SVN推送到多台服务器的代码

    shell 脚本从SVN推送到多台服务器,需要的朋友可以参考下
    2013-02-02
  • Shell过滤器的具体使用

    Shell过滤器的具体使用

    这篇文章主要介绍了Shell过滤器的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Linux命令定位与查找之which、whereis和find的用法示例详解

    Linux命令定位与查找之which、whereis和find的用法示例详解

    Linux命令的定位与查找是我们日常工作中必备的技能,掌握which、whereis和find这三个命令,可以帮助我们更加高效地进行文件搜索和定位工作,这篇文章主要介绍了Linux命令定位与查找:which、whereis和find的用法详解,需要的朋友可以参考下
    2023-10-10
  • Linux上安装和卸载rpm软件包的方法

    Linux上安装和卸载rpm软件包的方法

    这篇文章主要介绍了Linux上安装和卸载rpm软件包的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11

最新评论