crontab是什么?
crontab服务是linux系统下的一个周期性的定时任务执行机制。常见的使用当中,我们可以通过crontab来自动完成备份数据库,比如每天凌晨三点执行。
crontab格式
格式分为六段组成,分别为:分钟、小时、天、月、星期、命令。前五段描述执行的时间,最后一段描述执行的命令。
分钟:是0-59之间的整数。
小时:是0-23之间的整数。
天:是1-31之间的整数。
月份:是1-12之间的整数。
星期:是0-7之间的整数,这里0或者7,都代表星期日。
以上描述中,还可以使用如下几个符号。
* :星号,代表可能的值,如果小时为*,表示在满足其它时间描述后,每小时都执行此操作。
, :逗号,用逗号隔开取值范围,如分钟段为"0,30",表示整点和半点时执行任务。
- :横杠,代表取值范围。如月份为“1-6”,则表示满足其它约束后,每年前6个月执行此操作,同“1,2,3,4,5,6”。
/ :斜杠,表示同时段的时间间隔。如分钟为“*/5”,表示每五分钟执行一次。
crontab怎么查看?
在linux中,每个用户都有自己的crontab执行任务。拿root用户来说,查看当前定时任务,可以输入:crontab -l,如下:
图1
上面图1中,通过执行“crontab -l”命令,可以查看到有三个定时任务正在执行。
第一个任务:每20分钟执行依次。
第二个任务:每分钟执行一次,执行检查需要推送的信息。
第三个任务:每天凌晨3:00执行,执行备份数据库的shell脚本。
crontab怎么编辑?
输入“crontab -e”,进入文本模式。在案按下“i键”或者“insert键”,进入编辑模式。与我们的vi或者vim编辑文本模式相同。保存编辑按esc->:>wq。保存后需要重新启动crontab执行。重启命令"service crond restart"。
crontab与环境变量?
因为执行crontab命令不像日常连接linux主机,在命令行中直接执行,会启动相应的环境变量,如php、mysql等,所以在crontab中执行,写在crontab文件里的程序,需要输入全路径:
如php应该输入 /usr/local/php7/bin/php(当前环境举例)
#正常情况#
启动任务:service crond start
关闭任务:service crond stop
重启任务:service crond restart
查看状态:service crond status
网友评论