crontab
简介
crontab
是 linux
下用来设置和管理周期性执行任务的命令,系统启动后会默认启动 crond
守护进程,此进程会每分钟定时检查并执行需要执行的任务。
命令语法
crontab
命令行命令格式为:
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
file (指定定时任务的文件,将文件作为 crontab 的任务列表文件并载入 crontab)
-u user (指定需要操作的用户,如果未指定则表示当前用户)
-e (编辑用户的 crontab 内容)
-l (列表显示某个用户的 crontab 内容)
-r (删除用户的 crontab 文件)
-i (在删除前是否确认提示)
如查看当前所有的定时任务:
crontab -l
此时系统会列出所有的定时任务,如:
* * * * * cd /home/backend_lara && /usr/bin/php artisan schedule:run
crontab
文件
crontab
包含了由 cron
守护进程处理的时间及指令,每个用户均拥有自己的 crontab
文件,同时在 etc/
目录下有一份针对整个系统的 crontab
文件,只能通过 root
用户来修改和编辑。
crontab
文件每一行都有固定的格式:分 时 日 月 周 要运行的命令,各个域通过空格分割,每个域可以放置范围内参数及操作符号。
每个参数意义及范围为
- 分:分钟(0-59)
- 时:小时(0-23)
- 日:日期(1-31)
- 月:月份(1-12)
- 周:星期(0-7,0和7表示周日)
参数操作符号
,
逗号,列举多个值,如1,3,5
-
连词号,指定值的范围,如1-3
表示1,2,3
*
分号,表示所有可能的值/
正斜杠,指定时间的间隔频率
实例
1. 每分钟执行
* * * * * command
2. 每天早晚八点执行
* 8,20 * * * command
3. 每周一早上八点半执行
30 8 * * 1 command
4. 每隔三小时执行一次
* */3 * * * command
注意事项
- 慎用
crontab -r
指令,这个指令直接删除用户crontab
文件。 crontab -e
默认使用的编辑器是nano
,习惯vim
的用户可以执行命令select-editor
然后选择自己需要的编辑器。