#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
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?
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