我的问题。
我需要删除存储在服务器上超过 2 天的/tmp 文件夹中的 session 文件。
我已经在终端的 crontab 中添加了这个。
#!/bin/bash
find /tmp/sess_* -mtime +2 -exec rm {} \;
我把它保存了,但不断出现严重的错误,任何人都可以帮助并让我知道我哪里出错了。
谢谢。
最佳答案
crontab
不接受shebang(无论如何shebang都是错误的,这显然只是一个已修复的Markdown问题)。试一下,例如,
SHELL=/bin/bash
* * * * * find /tmp/sess_* -mtime +2 -exec rm {} \;
如果您想每分钟运行一次作业。见
man 5 crontab
详情。更新:
问:
* * * * *
是什么意思在上面的最小 crontab 中是什么意思?答:这五个字段是控制何时执行作业的日期和时间字段。
根据
man 5 crontab
,The time and date fields are:
field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names)
所以,这里有一些例子:
* * * * *
: 每一分钟; 00 * * * *
: 每小时的开始; 00 03 * * *
: 每天凌晨 3 点; 00 03 01 * *
: 每个月的第一天凌晨 3 点; 00 23 * * 0
: 晚上 11 点每个星期天; 00 23 * * Sun
: 同上; */15 * * * *
: 每十五分钟。 您可以通过谷歌搜索“vixie cron tutorial”之类的内容来获得更多示例和解释。
关于shell - Ubuntu crontab 编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891703/