我每分钟都在使用crontab执行我的脚本。但是脚本不能正常工作。这个脚本应该创建文件,记录到另一个文件,并写入数据库。只有写入数据库的工作。当我手动启动脚本时,它工作得很好。这是脚本:
#!/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发布于 2012-08-01 16:43:08
在运行脚本之前,您需要指定完整路径或更改当前目录。该脚本没有在cron启动它的目录中创建日志文件的访问权限。
发布于 2012-08-01 16:42:33
我会删除
> /dev/null并将其替换为将stdout/stderr记录到一个文件中,以查看发生了什么。
> /tmp/cron.log 2>&1进程在一个非常有限的环境下运行在cron下,我怀疑您的程序期望的环境中有不存在的内容,或者运行在不允许写入日志文件的目录中。上面的重定向将立即告诉您发生了什么。
https://stackoverflow.com/questions/11755598
复制相似问题