script de démarrage n'exécute pas sur Amazon Linux

j'essaie de transférer syslog vers logensortinges.com qui requirejs une ligne ajoutée à /etc/rsyslog.conf, jusqu'à présent si bon. cependant, je cours sur amazon elastic beanskkk et j'ai 3 environnements (dev, staging, prod) que j'aimerais apather vers différents ports en fonction de l'environnement (logensortinges différencie l'environnement en fonction du port sur lequel il est transmis)

j'ai créé un site apache exécuté au port 8001 qui produit simplement le port que je veux utiliser pour ce server spécifique (puisque les propriétés élastiques du conteneur beanstalk sont ajoutées au php.ini, j'ai besoin d'un moyen de générer des variables php.ini). alors j'ai écrit un script:

#!/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 

qui fonctionne très bien lorsque vous exécutez le terminal mais je ne parviens pas à fonctionner lors du démarrage.

je l'ai collé dans /etc/rc.d/rc.local , je l'ai mis dans /etc/rc.d/rc3.d/S99logensortinges (avec 777 perms) sans chance. des idées pour lesquelles cela pourrait être?

Le "vieux" tour d'exécuter un script en tant que travail de cron ou au moment du démarrage est de redirect le stderr et stdout vers un file pour voir ce qui se passe:

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

Gardez également à l'esprit que: utilisez toujours le path absolu d'une command. Modifiez la dernière ligne sur /sbin/service rsyslog restart et réessayez.

PS: JAMAIS chmod 777 pour un script shell!