如何禁用预定义的 cronjob?

如何禁用预定义的 cronjob?

禁用 Ubuntu 自带的 cronjob 是否安全(或者有更好的方法)而不是直接将相应的文件从 cron.* 目录中删除?在这个特殊情况下,我想停用 fstrim-stuff,因为我的配置有两个 SSD(一个三星 850 EVO 和一个金士顿 SSD,它们随我的笔记本电脑一起提供,作为我用三星替换的预装 HDD 的缓存),并且我想完全控制哪些内容被 TRIMmed,哪些内容不被 TRIMmed...

答案1

如果你检查一下/etc/crontab,你会发现它用于run-parts运行每日/每周/等等的 cronjobs(通过anacron):

$ grep run /etc/anacrontab 
1   5   cron.daily  run-parts --report /etc/cron.daily
7   10  cron.weekly run-parts --report /etc/cron.weekly
@monthly    15  cron.monthly    run-parts --report /etc/cron.monthly

默认情况下

run-parts  runs  all  the  executable  files  named  within constraints
described  below,  found  in  directory  directory.   Other  files  and
directories are silently ignored.

If neither the --lsbsysinit option nor the --regex option is given then
the names must consist entirely of ASCII upper- and lower-case letters,
ASCII digits, ASCII underscores, and ASCII minus-hyphens.

因此,要禁用给定的作业,您可以:

  • 删除它的执行权限(sudo chmod -x /etc/cron.daily/foo
  • 重命名它以包含一个.或其他run-parts通常不喜欢的角色

所以:

sudo chmod -x /etc/cron.weekly/fstrim

相关内容