Aller au contenu

Featured Replies

Posté(e)

Bonjour à tous,

Voila mon petit soucis, j'ai un écran qui me sert de station d'acceuil. Sur celui sdi j'aimerai affiché la bande passante de mon NAS.

Pour cela j'utilise un serveur et un client qui envoie les donnée récuperer par ifstat avec netcat dans un fichier log sur le serveur qui permet d'être lu en php.

Jusque la ces OK. Si je lance le script manuellement avec cette commande :

sh mon_script.sh start

le script se lance. J'ai copier mon script dans le dossier "/usr/syno/etc.default/rc.d/" avec comme nom "S60nc_ifstat_clt.sh". Mais rien ne fonctionne quand je redémarre le NAS.

Voici le script :

#! /bin/sh

src_port=8888
dst_port=12345
dst_host=10.0.0.1
eth=eth0

nc_ifstat()
{
while [ "true" ]
do
ifstat -n -i $eth | nc -p $src_port -u $dst_host $dst_port
sleep 5
done
}

case "$1" in
stop)
echo " Stoping ifstat for DashScreen..."
killall ifstat
killall nc
;;
start)
echo " Starting ifstat for DashScreen..."
nc_ifstat&
exit 0
;;
*)
exit 1
;;
esac

exit 0

Ces un script récuperer car je n'y connait pas grand chose, a vrai dire je me lance tout simplement !

Pouvez vous m'aidez a lancer ce script au démarrage de syno svp ?

Posté(e)
  • Auteur

oui j'ai meme fait un chown root au cas ou mais pas plus avancé.

Posté(e)
  • Auteur

Pour résumé, j'ai copié le fichier dans ces dossiers : "/opt/etc/init.d" "/usr/local/etc/rc.d" "/usr/syno/etc/rc.d'.

Ils ont tous un chmod +x et un chown root.

J'ai installé ipkg pour pouvoir mettre ifstat et netcat ainsi que les lib manquante pour l'éxécution de ces deux précédents.

Après reboot toujours rien, mais si je lance le script a la mains il fonctionne !

Je sèche totalement la !

Posté(e)

Suffit de faire comme expliqué ici:

(sans tenir compte de mes considérations erronées sur "rc.local")

**EDIT**

Et ne pas oublier de déclarer le PATH dans le script!!

Au démarrage il va récupérer celui par défaut et ce serait étonnant qu'il y trouve "ifstat" et "nc"

**EDIT #2**

Je te conseille également d'activer un log au début du script pour détecter des éventuelles erreurs, comme cela:

[ -t 2 ] || exec > /tmp/mon_script.log 2>&1 

Modifié par CoolRaoul

Posté(e)
  • Auteur

j'essaie tout sa, pas évident avec mes début en script shell ;)

EDIT : Excuse de ma 'noobietude' mais je peut avoir un peu plus d'explication stp ?

Je déclare le PATH dans quel script ???

EDIT2 : Bon pour rc.local j'ai inclus ton petit script test et apres reboot j'ai bien le fichier log. Donc sa ces bon.

EDIT3: Problème résolu, merci infiniment CoolRaoul. il manquait la variable PATH qui renvoyé vers le dossier ou se situé le programme. Perfect. Tu est un DIEU !!! :D

Modifié par Ulthane

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.