📅  最后修改于: 2023-12-03 15:30:07.361000             🧑  作者: Mango
cron
是一种用于在固定时间执行任务的 Linux 常用守护进程。它在特定的时间执行预设的指令,比如您需要每隔一段时间备份数据,每天定时清理日志文件,每周更新系统等等。您可以使用 crontab
命令来管理和控制 cron
的工作。
运行 crontab -e
命令将会打开文本编辑器,允许您设置定时任务。您可以为每个用户设置不同的 "crontab" 文件。如下格式就是一份基本的 crontab
文件:
* * * * * command-to-be-executed
- - - - -
| | | | |
| | | | ----- Day of the week (0 - 7) (Sunday is 0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of the month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
在上述文件中,星号 (*
) 表示匹配所有可能的值。所以像 * * * * *
这样的格式将会在每分钟都执行一次。另外,如果您想让任务在几个特定的时间点执行,可以用逗号 (,
) 将它们分开。例如 0 2,12 * * *
告诉 cron
在每天的凌晨两点和12点执行任务。
# 每小时执行一次命令
0 */1 * * * command-to-be-executed
# 每天上午 8:30 和下午 4:30 执行命令
30 8,16 * * * command-to-be-executed
# 每周一早上执行命令
0 8 * * 1 command-to-be-executed
# 每月 1 日执行命令
0 0 1 * * command-to-be-executed
cron
是针对系统的,而非应用程序。如果您需要执行应用程序,您需要以命令行的形式执行该应用程序。cron
会执行所有程序,这可能会导致系统资源的过度占用。比如,您不应该在备份任务和其他任务同时进行。cron
在执行程序之前并不负责检测程序的运行情况,因此如果您的程序崩溃了,cron
将不知道该怎么做。crontab
文件之后,您需要重启服务或重启服务器以使更改生效。cron
常用于计划定期执行的任务,并且与 crontab
这个命令一起使用。在设置任务时要小心,以确保您的操作不会给系统带来任何负面影响。