Crontab没有登录文件

时间:2012-08-01 08:40:32

标签: linux cron crontab

我正在使用crontab每分钟执行一次脚本。但脚本无法正常工作。此脚本应创建文件,登录到另一个文件并写入DB。只写DB工作。当我手动启动脚本时它工作正常。这是脚本:

#!/usr/bin/php
<?php
require 'include/functions.php';
require 'include/logger.php';

$lock_file_name = "test.txt";
$lock_file = fopen($lock_file_name, "w+");
fclose($lock_file);

$log_file = "test.log";
$log = new log($log_file);
$logEnabled = 1;

if ($logEnabled==1) {$log->add("DEBUG: Start test.");}

if_dbconn();
$SQL = "INSERT INTO .`test` VALUES (1666, 6, 6, '6', '6', '6', '6', 6, '6', '6', 6, 6, 6, '6')";
mysql_db_query($db,$SQL);
?>

我的cron看起来像这样:

* * * * * /usr/bin/php -f /path/to/script/testCron.php > /dev/null

2 个答案:

答案 0 :(得分:2)

我会删除

> /dev/null

并将此stdout / stderr记录到文件中以查看正在发生的事情。

> /tmp/cron.log 2>&1

进程在cron下运行,环境非常有限,我怀疑你的程序期望环境中没有的东西,或者在不允许编写日志文件的目录中运行。上面的重定向会立即告诉你发生了什么。

答案 1 :(得分:1)

在运行脚本之前,您需要指定完整路径或更改当前目录。该脚本没有访问权限,无法在cron启动它的目录中创建日志文件。