启动脚本不在亚马逊linux上执行

我试图转发系统日志到logentries.com需要一行添加到/etc/rsyslog.conf,到目前为止很好。 然而,我在亚马逊弹性beanstalk上运行,并有3个环境(dev,staging,prod),我想根据环境路由到不同的端口(logentries根据它转发的端口区分环境)

我创build了一个运行在端口8001,只输出我想用于这个特定的服务器的端口(因为弹性beanstalk容器属性附加到php.ini,我需要一种方式来输出php.inivariables)的Apache网站。 然后我写了一个脚本:

#!/bin/bash LOGENTRIES_PORT=`curl 127.0.0.1:8001` if [ "${LOGENTRIES_PORT}" == '' ]; then exit -1 fi echo "*.* @@46.51.181.128:${LOGENTRIES_PORT}" >> /etc/rsyslog.conf service rsyslog restart 

这从terminal运行时工作很好,但我似乎无法启动运行。

我已经把它放在/etc/rc.d/rc.local ,我把它放在/etc/rc.d/rc3.d/S99logentries烫发),没有运气。 任何想法,为什么这可能是?

运行脚本作为cron作业或启动时的“旧”技巧是将stderr和stdoutredirect到一个文件,以查看会发生什么情况:

 /path/to/your/script > /var/log/script.log 2>&1 

还要记住:总是使用命令的绝对path。 将最后一行更改为/sbin/service rsyslog restart试。

PS: 从来没有 chmod 777的shell脚本!