您的位置:首页 > 其它

crontab 计划任务的知识

2017-09-20 11:26 246 查看
一、cron服务

  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

  service crond start    //启动服务

  service crond stop     //关闭服务

  service crond restart  //重启服务

  service crond reload   //重新载入配置

  service crond status   //查看服务状态

二、在Crontab中使用PHP执行脚本


就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。

每一小时执行myscript.php如下:

复制代码 代码如下:

# crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

三、在Crontab中使用URL执行脚本

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。

下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。

复制代码 代码如下:

00 * * * * lynx -dump http://www.jb51.net/myscript.php
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。
复制代码 代码如下:

*/5 * * * * /usr/bin/curl -o temp.txt http://www.jb51.net/myscript.php
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。
复制代码 代码如下:

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php
四、cron在3个地方查找配置文件:

1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。
文件位置

位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失;

五.日志文件位置
默认情况下,crontab中执行的日志写在/var/log下,如:

#ls /var/log/cron*

/var/log/cron /var/log/cron.1 /var/log/cron.2 /var/log/cron.3 /var/log/cron.4

crontab的日志比较简单,当crond执行任务失败时会给用户发一封邮件。恰巧在我们的一台服务器上发现一个任务没有正常执行,而且crond发邮件也失败了。通过看mail的日志,看到是磁盘空间不足造成的。可以将每条 crontab中的任务增加自己的日志,有于查找执行失败原因。0
6 * * * //root/script/ss.sh >> /root/for_crontab/mylog.log 2>&1

把错误输出和标准输出都输出到mylog.log中。

如crontab 没有成功,检测crontab 服务是否启动,
/etc/init.d/crond status 

/etc/init.d/crond
restart
cron 是系统守护进程,位置:

/etc/init.d/crond
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: