Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/09/2012, à 10:56

FaTaL25

Commande "at" pour différer le lancement d'un script

bonjour à tous,

j'essaie de m'inspirer ce topic pour arriver à faire ce que je veux...

http://forum.ubuntu-fr.org/viewtopic.php?id=788401


en fait, au lancement de mon syno, je lance un script qui tourne en boucle infinie.
Malheureusement, au démarrage (je ne sais pas trop pourquoi), cela empêche le démarrage de certaines appli.
Dès que je supprime le script, tout repart correctement après un reboot...

Si je lance le script alors que le syno est démarré, pas de souci.

Du coup, je souhaite avoir un script de ce type qui se lance au démarrage:

#!/bin/sh
at -f /usr/syno/scriptvera/dlvera_sdata.sh now +2 minutes

pour ensuite exécuter le script dlvera_sdata.sh :

#!/bin/sh
exec >>/volume1/log/dlvera_sdata_xml-log.txt 2>&1
cd /tmp
set -x
while :; do
  sleep 10
  date
  wget --tries=0 "http://192.168.0.110:3480/data_request?id=sdata&output_format=xml" -O /volume1/web/vera.xml
done

Je précise que le 1er code s'exécute bien (chmod 777) mais la commande at ne passe pas...) - le 2ème code est en 777 aussi.

rien de bien méchant normalement... surtout que si j'ouvre puTTY sur le syno, la commande fonctionne et lance le script 2 min après...

Alors, je n'y connais pas grand chose mais n'y aurait-il pas un souci avec la commande at s'il n'y a pas de terminal ouvert?

Merci de m'aider smile


Cyril.

Dernière modification par FaTaL25 (Le 27/09/2012, à 11:02)

Hors ligne

#2 Le 27/09/2012, à 17:14

FaTaL25

Re : Commande "at" pour différer le lancement d'un script

Pas de réponse? sad

Bon, je reviens à la charge.

Je viens d'ajouter un log pour la commande "at"

#!/bin/sh
exec >>/volume1/log/dlvera_start-log.txt 2>&1
cd /tmp
set -x
at -f /usr/syno/scriptvera/dlvera_sdata.sh now +2 minutes

et le log me donne ça:

+ at -f /usr/syno/scriptvera/dlvera_sdata.sh now +2 minutes
/usr/syno/etc/rc.d/dlvera_start.sh: line 5: at: not found

Je rappelle que si je me connecte en SSH, je peux lancer la commande sans problème.
Je n'ai pas de at.allow ou at.denies

Cela veut-il dire que mon script de démarrage ne s'exécute pas en root?

Merci de m'aider.

Hors ligne

#3 Le 27/09/2012, à 17:27

AnsuzPeorth

Re : Commande "at" pour différer le lancement d'un script

Bjr,
Indique le chemin absolu de la commande at, ca fera peut être

/usr/bin/at

Pour le trouver:

which at

Dernière modification par AnsuzPeorth (Le 27/09/2012, à 17:27)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#4 Le 27/09/2012, à 17:51

FaTaL25

Re : Commande "at" pour différer le lancement d'un script

Super!!!

Voilà le code qui fonctionne:

#!/bin/sh
exec >>/volume1/log/dlvera_start-log.txt 2>&1
cd /tmp
set -x
/opt/bin/at -f /usr/syno/scriptvera/dlvera_sdata.sh now +2 minutes

D'ailleurs pourquoi /opt/bin/?

en rapport avec ipkg sur mon syno?


Merci beaucoup.

Hors ligne