Crontab是Linux上定时执行工具,提供计时器功能,让用户能够在特定时间内执行预设的命令。而且PHP的cli模式配合这个听说也有奇效喔~
服务启动
1 | service crond start //启动服务 |
命令配置
命令说明
1 | crontab -u //把cron服务器设定给指定用户 |
例子
1 | root查看自己的cron设置:`crontab -u root -l`. |
语法格式
定时执行的cron服务最重要就要控制什么时间执行,故crontab的设定格式有2部分,前一部分是对时间的设定,后一部分是要执行的命令。
分 | 小时 | 日 | 月 | 星期 | 命令 |
---|---|---|---|---|---|
0~59 | 0~23 | 1~31 | 1~12 | 0~6 | command |
Ps.星期的0表示周日,一般一行对应一个任务
同时,为了对时间有精确的把握,有以下几个特殊符号:*
:取值范围内的数字/
:每-
:某个数字到某个数字的区间,
:分开的离散数字
例子
1 | 5 * * * * ls :每小时的第5分钟执行一次ls命令 |
Ps.run-parts参数表示,执行后面目录中的所有可执行文件
另一种设置Cron的方法
因为每次编辑完某个应用的cron后,cron自动在/var/spool/cron下生成一个与用户名同名的文件,而该用户的所有cron设定都保存在这个文件中,该文件只能用crontab -e
来编辑,不用直接编辑。cron服务启动后每一分钟都会读一次这个文件,所以文件修改后不需要重新启动cron服务。
同时Cron服务每分钟读取完/var/spool/cron后,还会读取/etc/crontab这个文件,所以还有另外一种简单粗暴设置Cron的方法就是,在命令行下修改/etc/crontab
这个文件。
Ps.编辑/etc/crontab是针对系统级别的设定