优秀的编程知识分享平台

网站首页 > 技术文章 正文

linux/unix中如何查找并删除历史旧文件或目录

nanyue 2024-09-11 05:23:16 技术文章 10 ℃

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

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

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

清除旧文件或目录示例:

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

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

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

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

#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

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

Tags:

猜你喜欢

最近发表
标签列表