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的主要内容,如果未能解决你的问题,请参考以下文章