日志文件清理代码

对于产生大量日志的服务器,要对日志进行控制,如果任由日志膨胀可能会写满磁盘造成服务器宕机。

#code by ls in 20170427
date_now=`date +"%Y-%m-%d"`
date_yes=date -d "1 day ago" +"%Y-%m-%d"
#the drectory of this script,need to change for yourself
clean_log_path="/iom_jk/IOM_INF/tomcat_6.0.44_1/clean_log/"
if ! [ -e ${clean_log_path} ]
then
    mkdir -p $clean_log_path
fi
clean_log_file="${clean_log_path}clean_log.log" #the logfile of this script,need to change for yourself
delete_log_prefix="log.log."            #the prefix of delete file,need to change for yourself
zero_log_postfix=".log"                        #the postfix of zero file,neet to change for yourself
#those drectory that need to clean,neet to change for yourself
array_path[0]="/iom_jk/IOM_INF/tomcat_6.0.44_1/webapps/IomInterface/WEB-INF/sh/logs"
array_path[1]="/iom_jk/IOM_INF/tomcat_6.0.44_1/bin/logs"
array_path[2]="/iom_jk/app/interface/IomInterface/WEB-INF/sh/logs"

delete_log_file()            #the function to delete yesterday log file,do not need to change in general
{
    if [ -e ${delete_log_prefix}${date_yes} ]
    then
        rm -f ${delete_log_prefix}${date_yes} && echo "${data_now} : ${delete_log_prefix}${date_yes} have been delete" >> ${clean_log_file}
    fi
}

zero_log_file()       #the function to zero log file,do not need to change in general
{
    for file_name in `ls *${zero_log_postfix}`
    do
        echo "" > ${file_name} && echo "${data_now} : ${file_name} have been clean" >> ${clean_log_file}
    done
}

for path_log in $array_path[*]
do
    cd $path_log
    echo "$date_now : enter ${path_log}" >> ${clean_log_file}
    delete_log_file                            #the function to delete yesterday log file,need to change for yourself
    zero_log_file                                #the function to zero log file,need to change for yourself
    echo "" >> ${clean_log_file}
done
时间: 2024-11-12 05:57:27

日志文件清理代码的相关文章

mysql二进制日志文件清理以及 管理

1:二进制日志 二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句.语句以"事件"的形式保存,它描述了数据的更改过程,此日志对于灾难时的数据恢复起着极其重要的作用 2:日志的位置和格式 当用-log-bin[=file_name]选项启动时,mysqld将包含所有更新数据的SQL命令写入日志文件.如果没有给出file_name值,默认名为主机名后面跟_bin,如果给出了文件名,但没有包含路劲,则文件默认被写入参数DATADIR(数

Mysql 日志文件清理

手动保留N天的bin-log日志 PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); 自动保留N天的bin-log日志 vim /etc/my.cnf 加入 expire_logs_days=N 需要重启 登陆到mysql,并输入一下命令. mysql> show variables like '%log%'; mysql> set global expire_logs_days = N; 原文地址:https:/

windows服务器清理系统垃圾日志文件

Windows服务器的系统盘如果是2003系统的话那么我们默认给10G的空间就够了,但是有时候我们不经意去查看系统盘的时候发现已经使用了9.9G,其实多是垃圾日志文件占用系统盘空间,使用如下批处理将这些文件删除. 在桌面新建一个文本文档,将如下代码复制进去: @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %syst

SQL SERVER 清理日志文件

代码清理: USE[master] GO ALTER DATABASE 表名 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 表名 SET RECOVERY SIMPLE   --简单模式 GO USE 表名 GO DBCC SHRINKFILE (N'日志名' , 11, TRUNCATEONLY) GO USE[master] GO ALTER DATABASE 表名 SET RECOVERY FULL WITH NO_WAIT GO A

ORACLE清理、截断监听日志文件(listener.log)

在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,想必不少人听说过关于"LISTENER.LOG日志大小不能超过2GB,超过会导致LISTENER监听器无法处理新的连接",当然这个不是真理,不会绝对出现,只是发生在老旧的32bit Linux或Unix系统下面,真实的原因是一些32bit OS自带的文件系统不支持2GB以上的文件,导致监听服务进程(tnslsnr)append write日志文件

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd

清理ms sql server 大日志文件数据

1.手动分离数据库: 2.手动删除日志文件: 3.重新生成日志文件: CREATE DATABASE FMIS0 ON (FILENAME = 'E:\FMIS0_DATA\FMIS0-Date') FOR ATTACH_REBUILD_LOG ;GO 清理ms sql server 大日志文件数据

mongodb 2.6.x 清理过大日志文件的方法

一.日志清理步骤 1.使用数据库命令rotate日志,分别登陆到mongod和mongos实例上 # mongo --host localhost:27xxx MongoDB shell version: 2.6.x connecting to: localhost:27xxx/test replicaset003:SECONDARY> db test replicaset003:SECONDARY> use admin switched to db admin replicaset003:S

数据库日志太大,清理日志文件

如果你的数据库出现如下场景,那么你需要对数据库进行日志清理了. 注:清理后的数据库,可能无法对数据库进行还原,所以,清理之前需要对数据库进行完整备份: 1.没有做任何操作,数据库日渐查询缓慢. 2.数据库数据很少,但是日志文件很大 你就需要查看是否日志文件过大,如果日志文件太大,就需要对日志文件进行清理了. 清理输入框的脚本如下: ----查询数据库日志 USE 数据库名 SELECT NAME, size FROM sys.database_files -----清空数据库日志 USE mas