在哪里存储cronjob脚本?


18

我希望不要将其保存在/home/myusername目录中。是否存在将cronjobs的Shell脚本存储在哪里的最佳实践?从根本上讲?

我正在运行ubuntu服务器12.04。


1
为什么不要将其存储在主目录中?如果它们是针对您的个人,那正是它们应该在的位置-可能在某些命名良好的子目录中。如果它们是针对系统的整体,那么也许它们应该在其他地方。(如果您是唯一的用户,则区别可能是模糊的。)
Keith Thompson

1
对于这些问题,确实没有任何“答案”。
mdpc

您可能会在默认情况下找到一些内容/usr/sbin
tony gil 2014年

Answers:


19

通常,我把我放在:

  • /usr/local/bin/ 让脚本由多个普通用户运行
  • /usr/local/sbin/ 用于以root身份运行的脚本

这样,您就可以将脚本执行的任务与cron分开,而cron可以自动启动它。

不过,您将需要root才能在此处存储文件。


“不过,您需要root才能在此处存储文件。” -如果您将权限设置为正确,则不会。我通常将/usr/local其及其子目录设置为可写,然后将自己添加到该组中(例如install)。(当然,您首先需要root用户才能设置权限。)
Keith Thompson

我是主要用户,并且具有root特权。我希望没有其他人对此进行编辑,因此倾向于/ usr / local。人们通常会创建标准的/ mycronjobs目录吗?
tarabyte

如果您不希望其他人能够对其进行编辑。将其设为root并对其设置500或700权限。-您甚至可以进行root:<您的组> @ 550或770。由于您无需root就可以进行编辑,因此具有类似的效果。恕我直言,在编辑脚本之前让sudo拥有根目录才更干净。
Sirex

6
@terabyte,通常~/bin是标准目录,然后将其添加到$ PATH中。您要求最佳实践,这正将您的个人脚本保存在主目录中。它更整洁,使以后升级变得容易得多。
terdon

如果这是个人脚本(不需要其他人运行),则terdon是正确的。
Sirex
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.