2011-10-22 37 views
10

实施例:如何使用参数运行cron作业并将结果传递给日志?

* * * * * /usr/bin/php /full/path/to/script.php arg1 arg2 > /full/path/to/logfile.log 

脚本运行和访问参数就好,但结果从未打印到LOGFILE.LOG。另外,我的logfile.log是chmod 777,所以我知道它有写权限。

你能修复我的语法吗?

+1

用户是否有写入权限的文件夹? – mik

+0

是的,文件夹和文件。还有其他日志在同一个目录下工作。我认为问题出在了争议上。但是,如果我的语法正确,我将不得不捅更多的调试。 – Ryan

+1

也许你不应该使用'* * * * *',因为这会每60秒覆盖一次日志......当你用'>>'追加时你看到了什么? – Jens

回答

11

看起来您正在搜索错误的文件夹中的日志文件。 试试这个

* * * * * cd /path/to/script.php ; ./script.php arg1 arg2 >> logfile.log 

然后寻找在/路径/到/脚本文件夹中的日志文件。 它也可能是写入权限问题。 另外,检查您的脚本的错误。 你的crontab命令似乎没问题。

+0

对不起,我的问题并不完全清楚。我一直在使用根路径。我刚更新了问题以澄清。所以你说这是正确的格式,对吧? – Ryan

+0

现在命令看起来没问题,可能是有写权限问题?另外,尝试cd/path/to/script,它可能会有所帮助。 – mik

+0

@ rcode74:你的编辑破坏了命令。我要回滚。它需要“cd”到包含'script.php' *的目录,然后调用脚本。 '/ path/to/script.php'不是文字;它表示任何目录包含脚本的名称。 –

1

该命令是否可以从命令行正常工作? 参数可能包含一些由shell特别处理的字符。在这种情况下,您需要引用整个命令来防止shell修改参数。

相关问题