ubuntu 定时任务

Ubuntu下用crontab 部署定时任务

开启crontab日志

  crontab默认情况下是不执行开启日子的,所以一开始写完后,不能执行,想查看日志,却找不到。所以先开启定时任务的日志来查看

  修改rsyslog服务,将 /etc/rsyslog.d/50-default.conf  文件中的 #cron.* 前的 # 删掉;用以下命令重启rsyslog服务:

service rsyslog restart;

  然后再重启crontab服务:

service cron restart;

  网上很多人说开启,停止或者重启contab服务用命令 service crond restart,执行这个命令会报出 unrecognised service ,这里吧 crond 改成 cron 就可以了。

  之后,在这个位置 /var/log/cron.log 就可以查看定时任务的文件日志文件了;

  下面这个命令还可以查看crontab的状态

service cron status;

打开cron文件,注意观察最后一行 m h dom...这里简要介绍一下它的意思。

  • m:分钟,0-59
  • h:小时,0-23
  • dom:日期,1-31
  • mon:月份,1-12
  • dow:星期,0-6,0为星期天
  • command:命令

这里,我们应该已经知道其大概的用法了。我们只要在对应的位置填写上我们需要的数字日期,就可以使用它来表示:在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)。

 

 

* * * * * php /path/to/your/cron.php

 

5个星号分别代表定时指定每分、小时、日、月、周。

 

 

 

* 19 * * * php /var/www/cron/crontab.php

 

讲第二个参数h填写为19,则表示每天的下午7点执行crontab.php。

 

 

 

* * * * * php /path/to/your/cron.php  

 

每隔一分钟执行一次任务

 

 

 

0 * * * * php /path/to/your/cron.php    

 

每小时的0点执行一次任务,比如6:00,10:00

 

 

 

6,10 * 2 * * php /path/to/your/cron.php  

 

每个月2号,每小时的6分和10分执行一次任务

 

 

 

*/3,*/5 * * * * php /path/to/your/cron.php 

 

每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06
 

在这个例子中,我们看到不仅有数字还有星号和/等等符号。这些符号可以让定时更加的灵活。

  • *(星号):表示任意值,在相应位置填写*,可以代表任意执行。比如h为*,则为任意的小时
  • ,(逗号):表示一个部分填写多个值,比如在m位置填写1,5代表1分钟或5分钟时候
  • /(斜杠):表示每隔多久,比如在h部分填写*/2表示每隔2个小时,*/3表示每隔3个小时,
  • */1和*无区别,所以可以省略。这里可以想想,*/2表示能被2整除的时间就好理解了。

使用你的编辑器,保存->退出之后。重新启动cron任务。在每天的相应时间即可看到效果。

 

 

开始执行定时任务

1.使用 crontab -e命令

这个命令比较简单直接输入就可以

#:crontab -e

比如:*/2 * * * * date >> /home/postgres/time.log 它的意思就是每过两分钟就向time.log文件中写入当然的系统时间.

之后ctrl+X退出保存就行了.

2.保存crontab之后,我们还要重启crontab服务来使这个任务生效.

sudo service cron restart

3.看一下结果

vim /home/postgres/time.log

 

 

posted @ 2018-04-03 14:01  kobe龙篮  阅读(166)  评论(0编辑  收藏  举报