我想安排一个shell脚本每小时运行一次。为此,我试图在acquia服务器上从cron安排。
shell脚本文件位于“docroot / scripts / script_name.sh”中。在命令选项中,我将命令命名为“/var/www/html/pllsrv2313.dev/scripts/script_name.sh”,但它无效。
答案 0 :(得分:1)
我认为shell脚本文件应该位于“scripts / script_name.sh”中。
如果从shell文件调用php脚本,则需要使用php文件的完整路径,即使它位于同一目录中。
答案 1 :(得分:0)
首先登录您的框:
然后就像@ScottA提到的那样调用你的脚本:这次用verbose标志来做,这是-x。
sh -x /var/www/html/pllsrv2313.dev/scripts/script_name.sh
这将转储脚本运行或错误输出的所有内容。看看有什么不符合你的预期。
在我的案例中,在我的脚本中,我有一个未按计划进行的卷曲请求:
curl --silent --compressed http://dev.example.com/code.sh
所以我标记了我的卷曲调用--verbose也可以转储:
curl --silent --compressed --verbose http://dev.example.com/
并致电:
sh -x /var/www/html/example.dev/docroot/ex_scripts/my_script.sh
我回来说主机无法解析,因为我的开发域只能在我的DNS中使用。所以对我来说问题是当cron运行我的curl失败时,我的非公共可访问的开发域。
...
+ curl --silent --compressed --verbose http://dev.example.com/
* getaddrinfo(3) failed for dev.example.com:80
* Couldn't resolve host 'dev.example.com'
* Closing connection #0
...