linux自动删除30天前的日志文件

本文介绍如何使用Linux命令find配合shell脚本实现定时自动删除30天前的日志文件,有效防止磁盘空间不足。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux应用总结:
自动删除n天前的日志文件:
1. 使用的命令格式如下:

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

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

语句语法说明:
find:               linux下的查找命令,用于查找linux下指定的文件。
/opt/backup/log/:    想要查找的文件目录。
-mtime:             标准语句写法。
+30:                表示查找30天之前的文件,这里用数字代表天数。
"*.log":             希望查找的数据类型,"*.log"表示扩展名为.log的所有文件,"*"表示所有文件,
                     "*.jpg"表示所有扩展名为.jpg的文件,这个可以灵活,运用,举一反三。
-exec:              固定写法
rm -rf :            强制删除文件,包括目录。
{} \;  :            固定写法,一对大括号+空格+\+;


2.编写shell脚本:
vim  /opt/shell/auto-del-30-days-ago-log.sh
#!/bin/sh
find /opt/backup/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
保存退出,并添加可执行权限:
chmod +x /opt/shell/auto-del-30-days-ago-log.sh

3.将脚本添加到计划任务:
将脚本/opt/shell/auto-del-30-days-ago-log.sh,添加到计划任务,计划每天的凌晨两点四十分执行
脚本文件:
vim /etc/crontab
40 2 * * * /opt/shell/auto-del-30-days-ago-log.sh >/dev/null 2>&1
这样,我们就完成了一个计划任务,每天凌晨2点40分指定删除30天前的日志文件,以后就不用
担心磁盘空间会满了报警的情况了。

 

转载于:https://www.cnblogs.com/fengjunhua/p/8862147.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值