gentos 执行sh文件_linux/unix中如何查找并删除历史旧文件或目录

在服务器运行维护过程中,经常需要清理日志文件以节省存储空间。

那么如何找到并清理这些旧文件或目录呢?

此时,我们将使用linux find命令和linux rm命令。

清除旧文件或目录示例:

  • 查找和删除超过5天的文件
  1. 查找超过5天的文件

➜ find . -type f -mtime +5 -exec ls -l {} ;

d7b0d8afe716305469e106e70a466cfd.png

2.查找并删除超过5天的文件

➜ find . -type f -mtime +5 -exec rm -v {} ;

9975fb8418e65c483f753ddd2804c714.png
  • 查找和删除超过5天的目录

#find

➜ find . -type d -mtime +5 -exec ls -ld {} ;

#delete

➜ find . -type d -mtime +5 -exec rm -v {} ;

如何使用定时任务查找并删除旧文件或目录?

上面的方法可以手动清理旧文件,但有时我们希望自动执行此操作,例如每天凌晨1点执行清理操作。

此时,我们需要使用linux crontab命令。

1.将上述命令写成shell 脚本并授予可执行权限

➜ vim scheduledCleanFiles.sh

#!/bin/bash

find /var/log/ -type f -mtime +5 -exec rm -rf {} ;

find /var/log/ -type d -mtime +5 -exec rm -rf {} ;

➜ chmod +x scheduledCleanFiles.sh

2.配置crontab计划的任务,使其每天凌晨1点运行

➜ vim /etc/crontab

0 1 * * * ylspirit /usr/bin/sh /home/ylspirit/scheduledCleanFiles.sh

当然,也可以把要执行的命令直接配置到contab文件中。

0 1 * * * ylspirit find /home/ylspirit/ -type f -mtime +5 -exec rm -rf {} ;

OK

到这里就可以完成对历史文件或目录的清除工作了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值