2

在 linux:with crontab: 我用 as : 测试 * * * * * /bin/echo "xin chao">> /home/iloveyou/text.txt。它工作正常。

但是当我测试运行一个网址时:

*/3 * * * * /usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanager

它不工作。当我运行为:/usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanager从终端窗口。它运行正常。为什么?我想 https://192.169.30.126/joomlandk2/index.php/exportmanager用 crontab 设置运行。你能帮助我吗?谢谢。

4

2 回答 2

1

可能是一些特殊字符的问题。将命令放入包装脚本中,添加运行权限并切换 crontab 以指向它。

于 2012-10-31T13:55:03.873 回答
1

应 OP 请求,此答案详细说明了如何在 crond 上下文中逐步复制用户环境。

在 crontab 中,调用 shell 脚本。

*/3 * * * * /home/userX/dir/exportmanager.sh

在 shell 中,在调用 curl 之前 echo 或/和设置环境以具有与您自己的环境相似的条件。

HTTPS 使用 SSL 密钥,curl 如何查找此密钥,在哪个证书存储库中?

--capath选项。

#!/bin/bash
set VAR=value
/usr/bin/curl -k https://192.169.30.126/joomlandk2/index.php/exportmanager\
   >/home/userX/dir/exportmanager.log
于 2012-10-31T14:34:27.387 回答