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天前的日志文件,并通过实例演示如何设置计划任务以实现定期清理。 1. **删除文件命令**: 使用`find`命令可以定位并删除指定条件的文件。基本语法为: ```bash find ...
本话题将深入探讨如何使用Log4j中的DailyRollingFileAppender配置来自动删除前N天的日志,以便保持日志文件的大小和数量在可控范围内。 首先,DailyRollingFileAppender是Log4j中的一个Appender实现,它按照日期...
6. 最后,添加`<param name="OverwriteOldFiles" value="true" />`和`<param name="OverdueDays" value="10" />`,设置自动删除10天前的日志文件。 除了配置文件,我们还需要在代码中初始化log4net。在`LogHelper....
本文将深入解析如何使用批处理脚本(bat)来自动删除N天前的文件,这是一个常见的需求,尤其是在数据管理、日志清理等场景中。 ### 核心知识点:批处理脚本自动删除N天前的文件 #### 1. 批处理脚本(bat)简介 ...
本篇文章将深入探讨如何使用C++实现一个功能,即删除指定文件夹下N天及之前的日志文件。这个功能涉及到文件系统操作、时间处理和条件判断等多个方面。 首先,我们关注的是文件操作。在C++中,可以使用Windows API...
通过以上步骤,我们可以构建一个高效且可靠的自动删除N时刻前日志文件的C++程序。这不仅可以帮助我们管理磁盘空间,还可以保持系统的整洁和高效运行。在实际项目中,根据具体需求,还可以进一步扩展功能,如添加日志...
自动删除过期日志的原理** log4net本身并不直接提供自动删除日志文件的功能,但可以通过结合其他工具或编程逻辑来实现。一种常见的方法是利用log4net的RollingFileAppender,这个Appender会在日志文件达到指定大小...
### Linux计划任务自动删除n天前的旧文件 在日常运维工作中,经常需要对服务器上的备份文件进行管理和清理,以防止因数据量过大而占据过多的磁盘空间。本文将详细介绍如何利用Linux下的`find`命令配合计划任务...
前提,日志是以日期格式命名的,可以和日期比较大小,其他情况需自行调整 用户root用户创建定时任务 crontab -e 插入内容 00 01 * * * /bin/bash /home/ibps/sysscript/logbak.sh>> /home/ibps/sysscript/bklog.log...
例如,可以设置保留最近N天的备份,删除更早的文件。这可能通过`forfiles`命令来实现,筛选并删除指定条件的文件。 4. **计划任务**:为了让这个脚本能定时运行,通常会将其与Windows的任务计划程序结合。用户可以...
为了解决这个问题,我们可以使用Shell脚本来实现日志的自动备份与删除,确保日志管理的有效性。 首先,我们需要了解Shell脚本的基础。Shell是一种命令解释器,允许用户通过命令行与操作系统交互。在Linux或Unix系统...
根据提供的文件信息,本文将详细解释SQL Server日志删除及管理的相关知识点,包括但不限于日志文件的删除、收缩以及自动收缩设置等。 ### SQL Server 日志管理基础 在SQL Server中,事务日志(Transaction Log)是...
- 清理日志前,请备份重要日志或确认删除的不是关键系统日志。 - 配置定时任务时,应根据实际情况调整清理频率和时间,避免影响正常业务运行。 - 使用`enabledelayedexpansion`以允许在批处理脚本中动态修改变量...
9. **验证日志记录**:等待10-20分钟后,进入log目录并通过`tail -n 50`命令查看最新的日志文件,确认报文记录是否正常,以确保整个清理过程没有对业务造成负面影响。 #### 三、注意事项 1. **备份路径确认**:在...
1. 自动删除:设置归档日志保留策略,例如基于时间或数量自动删除。通过`ALTER SYSTEM SET ARCHIVELOG DESTINATION 'n' AUTOEXTEND ON|OFF MAXSIZE value;`命令进行配置。 2. 手动删除:当遇到紧急情况,可以通过`...
3. 设定删除标准:根据需要,设定一个日期阈值,比如N天前的日期。 4. 遍历邮件:对每个用户的邮箱进行迭代,查找并读取邮件文档。 5. 判断和删除:比较邮件的发送日期与设定的阈值,如果符合条件,则标记邮件为...
在使用VBScript定时删除指定目录下N天前创建的文件时,我们首先要了解VBScript是一种脚本语言,通常用于Windows环境下进行自动化任务。VBScript可以利用Windows Script Host来执行脚本任务,而不需要编译,并且可以...