ubunt系统创建定时任务
cron是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。在Ubuntu server 下,cron是被默认安装并启动的。通过/etc/crontab文件,可以看到以下内容:
cron 服务的启动与停止命令
在Ubuntu 9.10下,cron是被默认安装并启动的。而 ubuntu 下启动,停止与重启cron,均是通过调用/etc/init.d/中的脚本进行。命令如下
1)service cron start /*启动服务*/
2)service cron stop /*关闭服务*/
3)service cron restart / *重启服务*/
4)service cron reload /*重新载入配置*/
可以通过以下命令查看cron是否在运行(如果在运行,则会返回一个进程ID):
# pgrep cron
cron定时访问某个路由地址的方法
1.执行如下命令添加任务
crontab -l //显示用户的crontab文件的内容
1、先通过 crontab -e 创建定时任务
[root@iz8vb4z6xe72mysmicu1vpz ~]# crontab -e
2、编辑写入命令(利用 /usr/bin/curl 去访问某个路由地址),这里意思每一分钟去访问下这个路由地址。
* * * * * /usr/bin/curl https://xxx.com/xxx.php
3、重启定时任务
service crond start
4、查看定时任务状态
service crond status
crontab文件的基本格式
1 * * * * * command 2 分 时 天 月 周 命令
crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:
分钟 0 - 59
小时 0 - 23
天 1 - 31
月 1 - 12
星期 0 - 6 0表示星期天
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别
crontab 无法使用排查步骤
#检查是否已经开启 cron sudo service cron status #cron start/running, process 23719 # 重启服务 cron sudo service cron restart # 查找 /var/log/cron.log 日志文件 ,发现没有文件 ,开启crontab 日志 sudo vim /etc/rsyslog.d/50-default.conf # 找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog: sudo service rsyslog restart