定时删除指定路径下的文件夹和文件
定时删除指定路径下的文件夹和文件
定时删除路径下名为 log1
和 log2
的文件夹中以 "2024" 开头的子文件夹及其内容,并保留最近 30 分钟内修改过的文件:
1. 编写定时清理脚本
创建一个名为 cleanup_script.sh
的脚本文件,其内容如下:
copy#!/bin/bash
# 删除 log1 目录下以 "2024" 开头的文件夹及其内容
find /path/to/log1 -mindepth 1 -maxdepth 1 -type d -name "2024*" -exec rm -rf {} \;
# 删除 log2 目录下以 "2024" 开头的文件夹及其内容
find /path/to/log2 -mindepth 1 -maxdepth 1 -type d -name "2024*" -exec rm -rf {} \;
# 保留最近 30 分钟内修改过的文件(log1)
find /path/to/log1 -type f -mmin +30 -delete
# 保留最近 30 分钟内修改过的文件(log2)
find /path/to/log2 -type f -mmin +30 -delete
说明:
- 第一部分和第二部分:分别删除
log1
和log2
目录下以 "2024" 开头的文件夹及其所有内容。 - 第三部分和第四部分:分别删除
log1
和log2
目录下最近 30 分钟内修改过的文件。
2. 设置定时任务
使用 cron
定时任务来每小时执行这个脚本:
-
执行
crontab -e
编辑用户的cron
表。 -
添加以下一行,指定每小时执行一次清理任务:
copy0 * * * * /path/to/cleanup_script.sh
0 * * * *
表示每小时的第 0 分钟执行一次。
-
保存
cron
表并退出编辑器。
注意事项:
- 确保脚本文件有执行权限 (
chmod +x cleanup_script.sh
可赋予执行权限)。 - 确保路径和文件夹名称正确,并且脚本中的命令不会误删重要文件。
- 定时任务执行时间根据实际需求调整,可以根据具体情况进行更改。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界