设置:
在我的gcp vm实例中,我有以下cron作业:
*/2 * * * * /usr/bin/php /var/www/cron/mycron.php init >> /var/log/myjob 2>&1
mycron.php
具有简单的功能
if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
cron_test();
break;
}
}
function cron_test() {
$time = date(DATE_RFC822, time());
write_log("Start:" . $time); //outputs debug to my own log file
};
但是,我没有得到任何回应,我需要一种查看错误日志的方式:
我做什么:
因此,在/etc/rsyslog.conf
中,我从#
中删除了cron.* /var/log/cron.log
以获取日志。
在cron.log
中,我收到以下日志:
(CRON) info (No MTA installed, discarding output)` earlier).
因此,我安装了sudo apt-get install postfix
并选择了no configuration
。
现在我得到以下信息...
mysite CRON[31304]: (mysite) CMD (/usr/bin/php /var/www/cron/mycron.php init >> /var/log/myjob 2>&1)
mysite CRON[31305]: (mysite) MAIL (mailed 64 bytes of output but got status 0x004b from MTA#012)
我要弄清楚的是:
我可以看到cronjob正在运行,但是我想运行的实际功能却没有。 我正在尝试在日志文件中查看错误(或输出),而不是收到有关该错误的电子邮件。
我该怎么做才能在文件而不是电子邮件中获取实际的错误或输出日志?
任何帮助将不胜感激!
答案 0 :(得分:0)
对于那些需要查看cron作业的错误日志的人:
在rsyslog中的cron中删除#
rsyslog.conf
安装后缀:sudo apt-get install postfix
并选择local only
并为所有单击下一步
在crontab -e
中,选择您要日志转到的文件:
例如/var/log/user.log
,并将文件的权限更改为
sudo chmod 775 -R /var/log
sudo chmod 664 /var/log/user.log
然后在cron运行时,它将把所有问题输出到文件中。