如何删除超过N天未修改的文件

重点

  • 最通用:使用 find 命令(优先掌握)

  • 最方便:使用 tmpwatch 命令(向客户推荐该命令)

使用 find 命令完成该需求

命令模板:

find $DIR -type f -mtime + $DAY -exec rm -f {} ;

其中:

  • $DIR 是要删除文件的目录,请自行替换内容,使用完整路径

  • $DAY 天数,请自行替换

重要的 

命令后面的 -exec rm -f {}\; 就是真正的删除操作

最好第一次运行时将该选项删除,和客户沟通确认后可以删除,再加上该选项。

▶示例:删除 /home/chenjian 目录下 30 天未修改的文件

/*先找到匹配的文件并列出*/
[root@localhost ~]# find /home/chenjian -type f -mtime +30
/*和客户确认后,再执行删除操作*/
[root@localhost ~]# find /home/chenjian -type f -mtime +30 -exec rm -f {} \;

使用 tmpwatch 命令完成该需求

该命令默认在软件仓库中提供( DVD 中也有),但系统默认没有安装。使用以下命令进行安装即可

[root@localhost ~]# yum -y install tmpwatch

命令模板:

tmpwatch -tv $HOUR $DIR

其中:

$HOUR 是以小时为单位的时间,请自行计算后替换

$DIR 是要删除文件的目录,请自行替换

重要的

-tv 选项一定要加,表示以测试模式运行,该模式仅列出要删除的文件而不会真正删除它们

如果不加,默认情况下, tmpwatch 命令会直接删除文件。

▶ 示例:删除 /home/chenjian 目录下 45 天未修改的文件

1. 首先计算 45 天是多少小时(45×24=1080 小时)

2. 编写命令,记住一定要添加 -tv 选项

[root@localhost ~]# tmpwatch -tv 1080 /home/chenjian

附:tmpwatch 命令运行效果,仅列出 24 小时未修改的文件(带 tv 选项)

[root@localhost ~]# tmpwatch -tv 24 /var/tmp/
grace period is 86400 seconds
cleaning up directory /var/tmp
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-chronyd.service-olEuG5
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-chronyd.service-olEuG5/tmp
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-chronyd.service-olEuG5/tmp if empty
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-chronyd.service-olEuG5 if empty
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-httpd.service-p0EHdJ
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-httpd.service-p0EHdJ/tmp
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-httpd.service-p0EHdJ/tmp if empty
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-httpd.service-p0EHdJ if empty
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-php-fpm.service-wR8gWD
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-php-fpm.service-wR8gWD/tmp
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-php-fpm.service-wR8gWD/tmp if empty
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-php-fpm.service-wR8gWD if empty
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-grafana-server.service-v9OMxD
cleaning up directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-grafana-server.service-v9OMxD/tmp
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-grafana-server.service-v9OMxD/tmp if empty
removing directory /var/tmp/systemd-private-508b03c0416340ad9d85cc14f155c5a3-grafana-server.service-v9OMxD if empty
[root@localhost ~]#

附:tmpwatch 命令运行效果,直接删除24小时未修改的文件(不带 tv 选项)

[root@localhost ~]# tmpwatch 24 /var/tmp/
[root@localhost ~]#

 【微|信|公|众|号:厦门微思网络】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

厦门微思网络

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

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

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

打赏作者

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

抵扣说明:

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

余额充值