如果我需要一个在系统级别运行的cronjob(即不特定于某个用户),你如何建议我创建它?
crontab -e
以 root 身份运行/etc/crontab
/etc/cron.d/
/etc/cron.*ly/
(但前提是这样的时间间隔符合我的需要)我最担心的是:这些解决方案中的哪些可能会被系统更新覆盖?
另外我想如果工作很长,我应该把它放在一个单独的脚本文件中,例如在/root/bin/
. 你同意?
slm*_*slm 15
crontab -e
我不会把它crontab -e
作为根。这对于其他管理员来说通常不太明显,并且随着时间的推移可能会迷失方向。将它们放入/etc/crontab
您可以准确指定您希望它们运行的时间,您也可以指定不同的用户。
如果您不关心以不同用户身份运行脚本,和/或您只想每周、每天等运行脚本,那么一些发行版提供了可以放置脚本的目录,这些目录将在特定时间自动处理。
例如在基于 Redhat 的发行版下:
$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root 0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root 457 Sep 26 2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26 2011 /etc/cron.weekly
Run Code Online (Sandbox Code Playgroud)
我经常将我想在特定时间运行的系统级 cron 放在/etc/cron.d
而不是 中/etc/crontab
,特别是如果它们是更复杂的脚本。
我更喜欢使用下面的目录,/etc/cron*
因为它们是其他系统管理员知道要查看的更明显的地方,并且这里的文件可以通过安装包rpm
和/或apt
.
我提到的任何目录都被指定用于放置不会被包管理器破坏的脚本。如果您担心保护 crontab 条目,那么我绝对不会将其放入/etc/crontab
文件中,而是将其作为适当的脚本放入其中一个/etc/cron*
目录中。
归档时间: |
|
查看次数: |
15373 次 |
最近记录: |