Linux 定时删除7天前的文件

本文介绍了如何编写一个bash脚本,通过find命令在Linux中查找并删除指定目录(如/home/kafka/logs)中10天前的文件,然后设置crontab定时任务,每天22点10分自动执行该脚本进行文件清理。

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

一、编写脚本

#!/bin/bash
find /home/kafka/logs -mtime +10 -name "*.*" -exec rm -rf {} \;

保存到home目录下的logs_delete.sh

二、解释

# 命令格式
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
# 示例命令,将/home/kafka/logs目录下所有10天前带"."的文件删除
find /home/kafka/logs -mtime +10 -name "*.*" -exec rm -rf {} \;
  • find:Linux的查找命令,用户查找指定条件的文件
  • /home/kafka/logs:想要进行清理的任意目录
  • -mtime:标准语句写法
  • +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
  • *.*”:希望查找的数据类型,“.jpg"表示查找扩展名为jpg的所有文件,”"表示查找所有文件,这个可以灵活运用,举一反三
  • -exec:固定写法
  • rm -rf:强制删除文件,包括目录
  • {} \;:固定写法,一对大括号+空格++;

三、设置定时任务

加入crontab

crontab -e
10 22 * * * /bin/sh /home/logs_delete.sh

这个表示为,每天22点10分执行这个脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallFatMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值