Linux下使用cron系统服务定时执行任务
Linux系统中有很多的系统级任务在后台自动执行,而负责调度这些任务的便是cron服务的守护进程crond,当我们需要定时执行自己的任务时便可以将所要执行的任务加入到crond的任务列表中来让crond自行调度执行,接下来便为大家介绍如何来让crond自动执行我们的任务。
确定任务和编写脚本
首先,我们要确定所要执行的任务。如果任务比较简单的话尽量使用单行命令直接搞定。如果任务比较复杂的话便要编写Shell脚本,通过crond调用该脚本来执行。这一步相当重要,要反复确定最终的命令或脚本能够准确地完成我们的任务。
编辑任务调度表
使用`crontab -e`命令编辑任务调度表,打开后的调度表如图所示。表中每一行代表一个要执行的任务,每一行又分为六个字段,从左到右依次为:分钟、小时、日期、月份、星期、所要执行的命令或脚本。
调度表字段取值范围
各字段的取值既可以为特定数字,也可以为指定的特殊字符。各字段的取值范围如下:
- 分钟:0-59
- 小时:0-23
- 日期:1-31
- 月份:1-12
- 星期:0-7,0和7都代表星期天
特殊字符代表的意义为:
- *(星号):代表任意时刻。例如 `8 0 * * * cmd` 表示每天8点整执行cmd命令。
- ,(逗号):代表并列的时段。例如 `0 3,6,9 * * * cmd` 表示每天3点整、6点整和9点整执行cmd命令。
- -(减号):代表时段范围。例如 `30 20-23 * * * cmd` 表示每天20点到23点之间的每个小时的第30分钟执行cmd命令。
- /(斜线):代表每n个时间间隔执行一次。例如 `*/10 * * * * cmd` 表示每十分钟执行一次cmd命令。
查询和删除任务
确定任务是否已经加入调度队列,可以使用`crontab -l`来进行查询。若要删除某一项任务,可以使用`crontab -e`编辑删去任务所在行;若要删除全部任务,可以使用`crontab -r`命令。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。