所以我制作了一个基本的 .sh 文件来使用以下命令清除缓存
sync; echo < 3 /proc/sys/vm/drop_caches
命令。然后我将其保存到我的用户名中
/home/marc
然后我遇到了 crontab,所以我决定使用这个 sh 文件和 crontab 每小时运行一次,因为我注意到我的笔记本电脑上的 RAM 消耗得非常快。使用 crontab -e,我将文件编辑为:
0 * * * * /root/clearcache.sh
我的问题是,我做的一切都正确吗?我是否正确编辑了 crontab 文件,如果是,如何检查该作业是否按预期运行?
答案1
检查 cronjob 是否按您期望的方式工作(缺少阅读手册页)将添加一个简单的 cronjob,将日期报告到特定文件:
0 * * * * date >> /tmp/cronjob.test
然后在第二天(或任何时候)检查它并确保它在您期望的时间触发。
我个人建议阅读手册页——它更快——但上面的方法是更长、更懒的方法。 ;)
答案2
所以看起来 cron 没有任何日志记录或调试选项。
要检查您的短脚本是否按预期运行,您可以strace -f -p $(pgrep cron)
在终端窗口中观看。提前运行strace -f my-basic.sh
,这样你就知道它是什么应该看起来像。
如果 cron 脚本生成任何输出,则应将其邮寄给您的用户。当您打开终端时,它会告诉您有邮件,并且该mail
命令会将其显示给您......恐怕该命令可能是另一个“学习机会”:)。
您可以预期任何错误都会导致您的脚本生成输出,从而生成邮件。这就是 Unix 约定。 “没有消息就是好消息”。