cron 是一个 Linux 下的定时执行工具,可以在无需人工干预的情况下运行作业。守护进程 cron 会读取 crontab 文件,根据配置在指定的时间执行任务。
contab 命令用来添加、删除、显示 cron 任务表。
(Ubuntu 环境)可以通过 service 命令启停 cron 服务:
service cron status # 查看 cron 服务状态
service cron start # 启动 cron 服务
service cron stop # 停止 cron 服务
service cron restart # 重启 cron 服务
service cron reload # 重新加载 cron 服务配置
crontab 命令 命令格式
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]
-u
指定用户
-l
显示当前的 crontab 文件内容。
-r
删除当前的 crontab 文件内容。
-e
编辑当前的 crontab 文件内容,如果文件不存在则创建新文件。
-i
在删除 crontab 文件内容时予以提示。
格式:minute hour day_of_month month day_of_week command
字段含义
字段 含义 minute 分钟,取值范围是 (0 - 59) hour 小时,取值范围是 (0 - 23) day_of_month 日期,取值范围是 (0 - 31) month 月份,取值范围是 (1 - 12),也可以用 jan,feb,mar,apr... 表示 day_of_week 星期,取值范围是 (0 - 6),其中周日用 0 或 7 表示,也可以用 sun,mon,tue,wed,thu,fri,sat 表示 command 要执行的命令特殊符号含义
特殊符号 说明 * 通配所有可能的取值 , 指定取值列表,例如 1,3,5,7,9 - 指定整数范围,例如 1-5 / 指定间隔频率cron 表达式例子
示例 说明 */15 * * * * 每隔 15 分钟执行任务 0 */2 * * * 每隔 2 个小时,在整点的时候执行任务 0 3 * * * * 每天凌晨三点的时候执行任务 0 0 5,15,25 * * 每月 5 号,15 号,25 号凌晨的时候执行任务 15 12 * * 1 每周一中午 12 点 15 分的时候执行任务 0,30 12-20 * * * 每天 12:00 至 20:59 之间,在整点或半点的时候执行任务 实例a) 添加 cron 任务
huey@huey-K42JE:~/huey/linux/cmdline$ echo "*/3 * * * * date >> ~/huey/linux/cmdline/cron.out" > mycron huey@huey-K42JE:~/huey/linux/cmdline$ crontab mycron
b) 删除 cron 任务
huey@huey-K42JE:~/huey/linux/cmdline$ crontab -r
c) 显示 cron 任务
huey@huey-K42JE:~/huey/linux/cmdline$ crontab -l */3 * * * * date >> ~/huey/linux/cmdline/cron.out