shell - 使用 Cron 删除超过 30 分钟的文件夹

标签 shell ubuntu cron

我想知道我应该在 Cron 中插入什么作业,以便每个 文件夹 超过 30 分钟的会被删除。

我试过了:

# 30 * * * * find /path/to/my/folder -type f -mmin +30 -exec rm -fr -maxdepth 0 {} \;

但它似乎没有做任何事情。

Stackoverflow 上还有其他帖子,但他们都在谈论删除 文件 ,这很酷,但我也想删除文件夹本身及其内容。

最佳答案

我实际上发现最好的方法是将 Cron 中的命令分成两部分,并使用 -delete争论

Code


30 * * * * sudo find /my/folder/* -type f -mmin +30 -delete && sudo find /my/folder/* -type d -empty -mmin +30 -delete 

Explanations


30 * * * * : 一直每 30mn 执行一次sudo find /my/folder/* -type f -mmin +45 -delete : 删除所有超过 45 分钟的文件和子文件&& :仅当第一个命令成功运行时才执行sudo find /my/folder/* -type d -empty -mmin +45 -delete :删除所有超过 45 分钟的空文件夹

在 Ubuntu 16.04 上工作

关于shell - 使用 Cron 删除超过 30 分钟的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48348769/

相关文章:

shell - 使用打包程序将文件从主机复制到生成的图像而无需密码

linux - bash中有 "goto"语句吗?

ubuntu - 使用代理时 Nginx 502 Bad Gateway 错误

linux - 使用开源/免费软件的批处理作业依赖项

php - add_action() 未定义错误 - WordPress 插件

node.js - 如何更改 npm install 的 shell

linux - 试图在 Shell 脚本 $(date +%j) 中找到确切的剩余天数

Windows和Linux之间的Python套接字连接

linux - 无法在 AWS Amazon Ubuntu 上打开端口

php - Ubuntu linux apache2 cronjob 不调用 php 文件