crontab 不工作 Ubuntu

Posted

技术标签:

【中文标题】crontab 不工作 Ubuntu【英文标题】:Crontab Not Working Ubuntu 【发布时间】:2015-12-28 22:56:57 【问题描述】:

我在 ubuntu 中使用 crontab 每天将 csv 发送到电子邮件,但它没有发送出去。为什么?

顺便说一句,我使用的是 laravel 4.2

更新的 CRONTAB crontab:

* * * * * /usr/bin/php /var/www/html/.../app/controllers/CronTask.php > /var/www/html/.../public/cronoutput.txt

生成 csv 并将 csv 发送到电子邮件的功能在 CronTask.php 中。我想看 cron 的日志,所以日志是 cronoutput.txt。

有什么问题?

【问题讨论】:

如果您直接在命令提示符下键入相同的命令是否有效? @lurker 我在 cmd 上测试过,它返回 'command not found' 如果找不到该命令,那么crontab 将不起作用。 /etc/php5/apache2 存在吗?为什么要使用apache2 来执行php 脚本?你为什么不运行php 命令? 你是通过php解释器运行php脚本吗? @lurker 我认为 etc 部分应该是配置文件 (php.ini) 路径,可以在 phpinfo() 上找到 【参考方案1】:

因为我使用的是 laravel,所以需要使用 laravel artisan 命令在 ubuntu 中运行 crontab。我参考了这个网站来创建命令:https://sonnguyen.ws/laravel-4-and-crontab/

然后把所有的 csv 生成和 email 放到 fire 函数中。完成了。

app/commands/FirstCommand.php

    php artisan 命令:make FirstCommand 更改受保护的 $name = 'user:active'; 在 fire 功能中添加生成 csv 和电子邮件。例如:回显“用户已激活” 在 getArguments 函数中删除数组中的参数

app/start/artisan.php

    Artisan::add(new FirstCommand);

在终端:

crontab -e

crontab 中的命令:

* * * * * /usr/bin/php /var/www/html/project/artisan user:active >> /var/www/html/project/public/cronoutput.txt

【讨论】:

以上是关于crontab 不工作 Ubuntu的主要内容,如果未能解决你的问题,请参考以下文章

例行性工作(crontab)

Linux例行性工作排程 (crontab)

节点和 crontab 无法正常工作

使用 Bash 脚本添加到 Crontab(如果不存在)

Linux基础之任务计划(at,crontab)

crontab定时任务居然不执行