cron、crontab 和 cronjob 之间的区别?

Posted

技术标签:

【中文标题】cron、crontab 和 cronjob 之间的区别?【英文标题】:Difference between cron, crontab, and cronjob? 【发布时间】:2014-03-04 03:39:00 【问题描述】:

从技术上讲,croncrontabcronjob 之间有什么区别?

据我所知,cron 是服务器上的实用程序,crontab 是包含时间间隔和命令的文件,cronjob 是实际命令(或包含命令的文件/脚本) .

这是正确的吗?

【问题讨论】:

【参考方案1】:

cron 是工具的名称,crontab 通常是列出 cron 将执行的作业的文件,而这些作业是 cronjobs。

【讨论】:

cronjob 是一起拼还是cron job 分开拼? 正确的术语是“cronjob”或“cron job”,而不是“cronjob”。 (来源:man page for Vixie cron、man page for ISC Cron 和manual for GNU Mcron 包含“job”的许多用法以及“cron job”的一种用法,并且不包含“cronjob”。)【参考方案2】:

Cron: Cron 来自 chron,希腊语中“时间”的前缀。 Cron 是一个在系统启动时运行的守护进程。

Crontab: Crontab (CRON TABle) 是一个文件,其中包含要在指定时间运行的 cron 条目的时间表。文件位置因操作系统而异。

Cron 作业或 cron 计划: Cron 作业或 cron 计划是一组特定的执行指令,指定日期、时间和要执行的命令。 crontab 可以有多个执行语句。

参考:http://www.adminschoice.com/crontab-quick-reference

【讨论】:

您说 Cron 在系统启动时启动。这意味着 Cron 不是操作系统的一部分,也不是操作系统的“内部”。然而,Crontab 是在操作系统“内部”,还是在系统启动时启动?【参考方案3】:

我把它放在这里,以便在需要时可以再次找到它,并为其他人提供额外的输入。我已经阅读了有关此主题的几页(有些自相矛盾,有些带有不起作用的示例)所以这是我目前的理解:

Linux 中有 2 个守护进程来安排未来的任务“cron”和“at

at”背后的想法是成为一种工具来运行一个(单个)未来的工作,“at”有一个变体,称为“batch" 只有在系统资源几乎空闲时才会运行作业

cron”通常通过配置年表或(crontab)使用,cron系统背后的思想是设置将来需要重复运行的作业。虽然大多数 cron 作业是使用 crontab 命令设置的,但 cron 命令可以直接用于一次性完成。 crontab 有一个替代方案,称为 anacron,如果您的系统不是 24/7,则可以使用它。

【讨论】:

【参考方案4】:

cron 是一个 Unix、Solaris 实用程序,它允许任务由 cron 守护程序定期在后台自动运行。

Crontab 文件 crontab 文件有五个字段,用于指定日期、日期和时间,然后是在该时间间隔运行的命令。

【讨论】:

cronjob 怎么样?

以上是关于cron、crontab 和 cronjob 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令——crontab

根 crontab 无法正确运行,用户 cron 作业可以

ubuntu使用脚本调用脚本,并用cron做定时任务,为啥执行不了

LInux Crontab及命令

如何使用非 root 用户设置 cronjob?

K8S CronJob简单入门,和手动重复操作Say Goodbye!