linux - 无法从 cronjob 运行 wkhtmltopdf

标签 linux pdf cron wkhtmltopdf

我有一个命令行。当从 putty 运行它时它工作,但是当从以 root 运行的 cronjob (webmin) 运行命令时命令挂起并且永远不会完成执行..

/usr/bin/xvfb-run -a -s "-screen 0 640x480x16" /usr/bin/wkhtmltopdf /root/input.html /root/output.pdf

更新

cronjob.php 中的命令行

echo shell_exec('/usr/bin/xvfb-run -a -s "-screen 0 640x480x16" /usr/bin/wkhtmltopdf /root/input.html /root/output.pdf');

cron 作业的命令(以 root 身份运行)

php -f /var/cronjob.php

当 cron 作业从 webmin 运行时,执行永远不会完成,但是当从 putty 运行完全相同的命令时,它会起作用!这是输出

Loading page (1/2)
Printing pages (2/2)
Done
Exit with code 1 due to network error: ProtocolUnknownError

puttywebmin 运行命令(没有 wkhtmltopdf)都有效

echo shell_exec('/usr/bin/xvfb-run -a -s "-screen 0 640x480x16"');

这是输出

xvfb-run: usage error: need a command to run
Usage: xvfb-run [OPTION ...] COMMAND
Run COMMAND (usually an X client) in a virtual X server environment.
...

添加 wkhtmltopdf 时,cronjob 永远不会完成

更新二

此命令行在 cron 作业中不起作用

xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf -h

@Grokify

echo shell_exec('0 0 * * * * xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf /var/www/tmp/test.html /var/www/tmp/output.pdf >> /var/www/tmp/pdf.log 2>> /var/www/tmp/pdf.err');

pdf.err

sh: 1: 0: not found

最佳答案

cronjob 可能没有拉入用户的环境,因此不知道 $PATH 实际包含什么。我发现我需要在我的 crons 中使用二进制文件的完整路径:

2 * * * /usr/bin/php -f /var/cronjob.php

关于linux - 无法从 cronjob 运行 wkhtmltopdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29281647/

相关文章:

linux - KFIFO API : Difference kfifo_put and kfifo_in (or kfifo_get and kfifo_out)

linux - ZeroMQ 的反向 PUB/SUB 问题

java - 如何在 Jasper Report 中将横向格式的 PDF 文件附加为面板格式?

settings - Raspberry Pi (RaspBMC) cronjobs 不工作

linux -/var/log/文件夹权限每天自动更改

php - 在PHP中以并行/多线程方式执行文件

linux - 在 Linux PAM 模块中允许/转义空格

python - pyPdf 错误参数无效

java - 命名我的内嵌 pdf

捕获 system() 数据的 C 代码