【问题标题】:Crontab Not Working Ubuntucrontab 不工作 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() 上找到

标签: php laravel ubuntu crontab


【解决方案1】:

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

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

app/commands/FirstCommand.php

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

app/start/artisan.php

  1. Artisan::add(new FirstCommand);

在终端:

crontab -e

crontab 中的命令:

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

【讨论】:

    猜你喜欢
    • 2017-01-13
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2014-08-08
    • 1970-01-01
    相关资源
    最近更新 更多