`

自动删除n天前日志

阅读更多

linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时执行吧。

 

1.删除文件命令:

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

实例命令:

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

说明:

将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

find:linux的查找命令,用户查找指定条件的文件

/opt/soft/log/:想要进行清理的任意目录

-mtime:标准语句写法

+30:查找30天前的文件,这里用数字代表天数

"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三

-exec:固定写法

rm -rf:强制删除文件,包括目录

{} \; :固定写法,一对大括号+空格+\+; 

 

2.计划任务:

若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。

 

2.1创建shell:

touch /opt/soft/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建一个可执行文件auto-del-30-days-ago-log.sh并分配可运行权限

 

2.2编辑shell脚本:

vi auto-del-30-days-ago-log.sh

编辑auto-del-30-days-ago-log.sh文件如下:

 

#!/bin/sh

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

 

ok,保存退出(:wq)

 

2.3计划任务:

#crontab -e

将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行

输入:

10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

这里的设置是每天凌晨0点10分执行auto-del-30-days-ago-log.sh文件进行数据清理任务了。

完成以上三步,你就再也不每天惦记是否硬盘空间满了,该清理日志文件了,再也不会受到服务器硬盘空间不足的报警信息了,放心的去看书喝咖啡去吧!

分享到:
评论

相关推荐

    Linux自动删除n天前日志及实例命令

    本文将详细介绍如何使用Linux命令自动删除n天前的日志文件,并通过实例演示如何设置计划任务以实现定期清理。 1. **删除文件命令**: 使用`find`命令可以定位并删除指定条件的文件。基本语法为: ```bash find ...

    log4j删除前N天日志

    本话题将深入探讨如何使用Log4j中的DailyRollingFileAppender配置来自动删除前N天的日志,以便保持日志文件的大小和数量在可控范围内。 首先,DailyRollingFileAppender是Log4j中的一个Appender实现,它按照日期...

    C# log4net自动删除多少天前的log文件

    6. 最后,添加`<param name="OverwriteOldFiles" value="true" />`和`<param name="OverdueDays" value="10" />`,设置自动删除10天前的日志文件。 除了配置文件,我们还需要在代码中初始化log4net。在`LogHelper....

    自动删除N天前的文件

    本文将深入解析如何使用批处理脚本(bat)来自动删除N天前的文件,这是一个常见的需求,尤其是在数据管理、日志清理等场景中。 ### 核心知识点:批处理脚本自动删除N天前的文件 #### 1. 批处理脚本(bat)简介 ...

    C++删除指定文件夹下N天及之前日志文件的方法

    本篇文章将深入探讨如何使用C++实现一个功能,即删除指定文件夹下N天及之前的日志文件。这个功能涉及到文件系统操作、时间处理和条件判断等多个方面。 首先,我们关注的是文件操作。在C++中,可以使用Windows API...

    自动删除N时刻前的文件(日志).rar

    通过以上步骤,我们可以构建一个高效且可靠的自动删除N时刻前日志文件的C++程序。这不仅可以帮助我们管理磁盘空间,还可以保持系统的整洁和高效运行。在实际项目中,根据具体需求,还可以进一步扩展功能,如添加日志...

    log4net自动删除日志文件实现

    自动删除过期日志的原理** log4net本身并不直接提供自动删除日志文件的功能,但可以通过结合其他工具或编程逻辑来实现。一种常见的方法是利用log4net的RollingFileAppender,这个Appender会在日志文件达到指定大小...

    Linux计划任务,自动删除n天前的旧文件

    ### Linux计划任务自动删除n天前的旧文件 在日常运维工作中,经常需要对服务器上的备份文件进行管理和清理,以防止因数据量过大而占据过多的磁盘空间。本文将详细介绍如何利用Linux下的`find`命令配合计划任务...

    自动压缩备份30天、7天以前的日志文件到指定目录下,并将原文件删除。

    前提,日志是以日期格式命名的,可以和日期比较大小,其他情况需自行调整 用户root用户创建定时任务 crontab -e 插入内容 00 01 * * * /bin/bash /home/ibps/sysscript/logbak.sh>> /home/ibps/sysscript/bklog.log...

    Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份).zip

    例如,可以设置保留最近N天的备份,删除更早的文件。这可能通过`forfiles`命令来实现,筛选并删除指定条件的文件。 4. **计划任务**:为了让这个脚本能定时运行,通常会将其与Windows的任务计划程序结合。用户可以...

    Shell脚本自动备份与删除apache日志

    为了解决这个问题,我们可以使用Shell脚本来实现日志的自动备份与删除,确保日志管理的有效性。 首先,我们需要了解Shell脚本的基础。Shell是一种命令解释器,允许用户通过命令行与操作系统交互。在Linux或Unix系统...

    删除sql server日志

    根据提供的文件信息,本文将详细解释SQL Server日志删除及管理的相关知识点,包括但不限于日志文件的删除、收缩以及自动收缩设置等。 ### SQL Server 日志管理基础 在SQL Server中,事务日志(Transaction Log)是...

    清理window电脑、服务器日志bat脚本

    - 清理日志前,请备份重要日志或确认删除的不是关键系统日志。 - 配置定时任务时,应根据实际情况调整清理频率和时间,避免影响正常业务运行。 - 使用`enabledelayedexpansion`以允许在批处理脚本中动态修改变量...

    DB2 归档日志清理

    9. **验证日志记录**:等待10-20分钟后,进入log目录并通过`tail -n 50`命令查看最新的日志文件,确认报文记录是否正常,以确保整个清理过程没有对业务造成负面影响。 #### 三、注意事项 1. **备份路径确认**:在...

    Oracle归档日志空间不足引发的问题及归档日志的检测与删除

    1. 自动删除:设置归档日志保留策略,例如基于时间或数量自动删除。通过`ALTER SYSTEM SET ARCHIVELOG DESTINATION 'n' AUTOEXTEND ON|OFF MAXSIZE value;`命令进行配置。 2. 手动删除:当遇到紧急情况,可以通过`...

    lotus删除所有用户N前天的邮件代码

    3. 设定删除标准:根据需要,设定一个日期阈值,比如N天前的日期。 4. 遍历邮件:对每个用户的邮箱进行迭代,查找并读取邮件文档。 5. 判断和删除:比较邮件的发送日期与设定的阈值,如果符合条件,则标记邮件为...

    使用vbs脚本定时删除N天前的文件

    在使用VBScript定时删除指定目录下N天前创建的文件时,我们首先要了解VBScript是一种脚本语言,通常用于Windows环境下进行自动化任务。VBScript可以利用Windows Script Host来执行脚本任务,而不需要编译,并且可以...

Global site tag (gtag.js) - Google Analytics