当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

实用脚本之清除日志---clear_log.sh

发表于: 2011-02-20   作者:czmmiao   来源:转载   浏览次数:
摘要: 一个很使用的清除日志脚本 精简版 #!/bin/bash             // 一个Bash脚本的正确的开头部分. #Filename:clean_full_log.sh #Datetime:2010_12_23 11:43 #Discription:Clean unused log in the direc

一个很使用的清除日志脚本

精简版

#!/bin/bash             // 一个Bash脚本的正确的开头部分.
#Filename:clean_full_log.sh
#Datetime:2010_12_23 11:43
#Discription:Clean unused log in the directory /var/log

LOG_DIR=/var/log
# 如果使用变量,当然比把代码写死的好.
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."

exit                      # 这个命令是一种正确并且合适的退出脚本的方法.

完整版

#!/bin/bash             // 一个Bash脚本的正确的开头部分.
#Filename:clean_log.sh
#Datetime:2010_12_23 15:28
#Discription:Clean certain of unused log in the directory /var/log
LOG_DIR=/var/log
ROOT_UID=0      # $UID为0的时候,用户才具有root用户的权限
LINES=50            # 默认的保存行数
E_XCD=66          # 不能修改目录?
E_NOTROOT=67     # 非root用户将以error退出

# 当然要使用root用户来运行.
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

# Stephane Chazelas 建议使用下边
#
# E_WRONGARGS=65 # 非数值参数(错误的参数格式)
#
# case "$1" in
# "" ) lines=50;;
# *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
# * ) lines=$1;;
# esac

cd $LOG_DIR

if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
# 不在 /var/log中?
then
            echo "Can't change to $LOG_DIR."
         exit $E_XCD
fi # 在处理log file之前,再确认一遍当前目录是否正确.

# 更有效率的做法是:
#
# cd /var/log || {
# echo "Cannot change to necessary directory." >&2
# exit $E_XCD;
# }

tail -$lines messages > mesg.temp      # 保存log file消息的最后部分.
mv mesg.temp messages                      # 变为新的log目录.

# cat /dev/null > messages
#* 不再需要了,使用上边的方法更安全.

cat /dev/null > wtmp # ': > wtmp' 和 '> wtmp'具有相同的作用
echo "Logs cleaned up."

exit 0
# 退出之前返回0,
#+ 返回0表示成功.

 

转载至:http://club.topsage.com/viewthread.php?tid=668357&highlight=shell
如有错误,欢迎指正

邮箱:czmcj@163.com

实用脚本之清除日志---clear_log.sh

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
有时候当系统运行时间比较长的时候,我们把备份的数据库还原的时候发现,数据库中数据文件和日志文
http://wgkgood.blog.51cto.com/1192594/1220828 前言*随着整个互联网的发展,产生了无数大大小小的
Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次
去年一年,我写了将近100篇网络日志。 现在这一年结束了,我要统计"访问量排名",看看哪些文章最受
省、市、区三级级联使用脚本,效果图如下: 范例代码见附件,其中核心脚本如下: function PCAS(){
代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试
方法一: 1、打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG <br style="margi
浮动意思就是把元素从常规文档流中拿出来,浮动元素脱离了常规文档流之后,原来紧跟在其后的元素就
原文: CSS设计指南之浮动与清除 浮动意思就是把元素从常规文档流中拿出来,浮动元素脱离了常规文档流
---------------------------- 多选分类修改,数据入库增删留数组:两个数组的对比分析 /* 多选分类
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号