php crontab centos

服务器环境不同,配置crontab时可能导致网上的方法不起作用

主要注意以下几个要点

配置路径

crontab的配置可能不止一处,我先都放在root里,文件路径,文件名是用户名,里面是要执行的任务

/var/spool/cron

日志路径

这个日志在我实际使用中,我发现问题很大,基本上没有什么有意义信息,他只是告诉你执行了,但是没有报错信息

/var/log/cron

配置方法

如果不会写配置文件,可以用composer安装一个类库"appyourself/crontab",可以帮助生成配置,可以在windows里生成配置的字符串,然后放在服务器的配置中,只要加在配置最后一行即可,然后在这个sh中调用php

30 9 * * * /path/to/your.sh

这里注意两点

  1. 换行使用Unix换行,windows换行会引起一个“提示”
  2. php路径使用绝对路径!!!至少不会错

    sh -c "cd /path/to/public && /usr/local/php/bin/php index.php /server/notify" >> /path/to/your.log;

PHP位置

今天搞了很久定时不起作用,后来想明白了,是php根本没有运行,在cron里至少我的服务器上没法直接使用php命令,需要定位php命令后再使用

which php

相关文章

此处评论已关闭