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

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

精简版

#!/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 

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/911380

时间: 2024-07-29 02:49:31

实用脚本之清除日志---clear_log.sh的相关文章

mssql自动备份及自动清除日志文件服务器设置_MsSql

1.每日自动备份 强烈建议有条件的用户进行此操作! 1.打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server--SQL Server组--双击打开你的服务器 2.然后点上面菜单中的工具--选择数据库维护计划器 3.下一步选择要进行自动备份的数据--下一步更新数据优化信息,这里一般不用做选择--下一步检查数据完整性,也一般不选择 4.下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定 5.下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新

Sql Server 2000清除日志方法介绍

手动清除日志的具体方法 一.现在我们详细描述一下如何用企业管理器清理SQL 2000的日志: 1.打开企业管理器,右击要处理的数据库-->属性-->选项-->故障还原,选"简单"-->确定.如图: 2.右击要处理的数据库-->所有任务-->收缩数据库-->什么也不动,默认第一个是0%,其它两个未选中,点确定-->如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢. 3.操作完后-->按第一步,把"故障还原&

sql2005 日志清理 SQL2005压缩清除日志的方法_mssql2005

教你如何清除SQL日志 1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2. 再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在 收缩方式里选择收缩至XXM, 这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了. 清除Log有两种方法: 1.自动清除法开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log. 此方法的优点是无须人工干预, 由SQL S

推荐的一篇用多种脚本清理iis日志的代码第1/3页_其它

应用场合:主要用与虚拟主机,也可用于个人服务器 产生背景:2005年某月某日,一向运行正常的虚拟主机死机了,让机房值班人员重启数次,都不成,接显示器进系统看,提示:C盘空间不足,半夜还得去机房处理,到机房后先断网,再进系统发现有两个地方有问题,C:\WINDOWS\system32\LogFiles文件有6G,还有一个就是Symantec隔离病毒的地方,到网上找了下,最大可能性是我们的虚拟主机的所有日志都写在这里,并且没人知道写在这里,郁闷,在IIS里看了下,还真是这么回事,日志天天都在长,当时

[20160830]清除日志与跟踪文件.txt

[20160830]清除日志与跟踪文件.txt --我们数据库的dataguard磁盘空间非常紧张,前几天因为一些异常业务操作,导致dataguard磁盘空间不足, --日志切换情况: Date                Day    Total   H0   h1   h2   h3   h4   h5   h6   h7   h8   h9  h10  h11  h12  h13  h14  h15  h16  h17  h18  h19  h20  h21  h22  h23    

数据库清除日志文件(LDF文件过大)

清除日志: 复制代码 代码如下: DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE szwzcheck -- 要操作的数据库名 SELECT @LogicalFileName = 'szwzcheck_Log', -- 日志文件名 @MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 20 -- 你想设定的日志文件的大小(M) --

SQL SERVER清除日志的方法

  MS SQL SERVER日志增长非常快,使用时间长了以后,日志文件会很大,占用很大的硬盘空间,因此需要定时清除日志,可以采用以下四种方法: 方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2.再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了. 方法二: 设置检查点,自动截断日志 一般情

Beyond Compare清除日志消息方法

  Beyond Compare清除日志消息方法 具体操作步骤如下所示 步骤一:双击桌面"Beyond Compare"软件图标,在打开的主页面左侧新建会话目录下,单击选择"文件夹比较"会话,打开会话操作界面.分别点击文件夹比较会话界面左右两侧"浏览文件夹"按钮,选择需要比较的两份文件夹. 步骤二:按照个人文件夹比较的要求,您可以自主进行文件夹比较,其中软件将会对差异文件夹和文件进行色彩突出,如下图图例所示,在比较会话底部设置日志面板,记录文件夹

python脚本实现统计日志文件中的ip访问次数代码分享_python

适用的日志格式: 106.45.185.214 - - [06/Aug/2014:07:38:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 171.104.119.22 - - [06/Aug/2014:08:55:01 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 27.31.238.242 - - [06/Aug/