Aller au contenu

Featured Replies

Posté(e)

Bonjour,

Je cherche à faire démarrer automatiquement un script que j'ai nommé S90perso.sh et placé dans le répertoire /usr/syno/etc/rc.d/.

En faisant juste ça le script ne démarre pas, il n'est même pas executé. J'ai cherché dans le fichier /etc/rc mais je n'ai pas trouvé l'endroit où sont démarrés les différents scripts de démarrage des services.

Quelqu'un pourrait-il me dire comment et par quel fichier sont démarrés les scripts du répertoire /usr/syno/etc/rc.d/?

Comment puis-je faire démarrer mon propre script automatiquement?

y a-t-il un fichier log du démarrage du syno?

Merci

Posté(e)

Bonsoir,

Ton script est exécutable ?

chmod 777 S90perso.sh pour le rendre.

Quelques méthodes pour lancer ton script :

http://fredo.servehttp.com/html/Astu-19.htm#cmd-boot

Il faut également faire attention a l'ordre de lancement.

Si ton script utilise des services non lancés, il plante, et donne l'impression de ne pas démarrer.

A+ :hi:

Fred.

Posté(e)
  • Auteur

Bonsoir,

Ton script est exécutable ?

chmod 777 S90perso.sh pour le rendre.

Quelques méthodes pour lancer ton script :

http://fredo.servehttp.com/html/Astu-19.htm#cmd-boot

Il faut également faire attention a l'ordre de lancement.

Si ton script utilise des services non lancés, il plante, et donne l'impression de ne pas démarrer.

A+ :hi:

Fred.

Non mon script comme tous les autres est en 755 ce qui ne devrait pas poser problème normalement. Je vais tout de même tenter de le mettre en 777 mais cela ne devrait pas poduire grand chose de différent puisque il a d'hors et déjà les permissions requises pour s'executer.

Concernant les méthodes pour lancer mon script, qui est le script pour lancer ma Debian chrootée, j'ai regardé les méthodes sur le site que tu me donnes. Et:

1. la méthode 1 marche mais les instructions du fichier rc.local ne sont pas executées une fois que tous les services ont été lancé (je dis ça parce que j'ai besoin que tout ait été lancé sur mon syno avant de chrooter la Debian). Donc cette solution ne convient pas à moins qu'il y est un moyen que je ne connais pas d'attendre que tous les services soient chargés.

2. C'est la solution que j'ai adoptée, mais apparement cela ne fonctionne pas, mon script S90perso.sh n'est pas lancé au démarrage. Mystère...

3. Ne marche que dans le cas d'IPKG ce qui n'est pas mon cas...

4. J'avais pensé à cette solution, mais je ne l'ai jamais testé. Je vais donc faire cela...

Donc conclusion, je teste la modification des permissions sur mon script, et la solution 4. Si cela ne marche pas, il faudra trouver un autre moyen. Quoi qu'il en soit, quelqu'un sait-il qui lance ces scripts? Je pense que c'est normalement le processus /sbin/init qui est ici l'executable busybox. De même il n'y a nul part de inittab ce qui peut paraitre normal dans le cas d'un syno mais étrange pour moi.

Quoi qu'il en soit toute aide est la bienvenue et merci encore pour ta réponse fredlime. J'apprécie...

Posté(e)

Salut il existe une commande sleep qui permet d'arrêter temporairement l'execution d'une commande. Dans ton script tu met sleep et le nombre de seconde à attendre avant de lancer la suite. Bonne chance

  • 2 mois après...
Posté(e)

Bonjour,

Et pour le shutdown ?

Je cherche à exécuter un script au shutdown du syno mais je ne trouve pas de point d'entrée...

En general un script commençant par K** dans /opt/etc/init.d/ aurait du faire l'affaire mais ce n'est pas le cas.

Je ne trouve nulle part de procédure d'arret...

Merci.

Posté(e)
  • Auteur

bonjour

as tu essayé de mettre ton script dans ce repertoire : /usr/syno/etc.defaults/rc.d ?

Oui, commeje l'ai dit dans mon message original, c'est la première chose à laquelle j'ai pensé mais rien n'y fait le script n'est pas executé ce qui me parait très étrange d'ailleurs. J'en viens donc à me demander comment sont démarrés les autres scripts du syno, puisque je ne trouve rien qui corresponde dans le fichier "rc" qui lui par contre est bel et bien executé au démarrage...

Bonjour,

Et pour le shutdown ?

Je cherche à exécuter un script au shutdown du syno mais je ne trouve pas de point d'entrée...

En general un script commençant par K** dans /opt/etc/init.d/ aurait du faire l'affaire mais ce n'est pas le cas.

Je ne trouve nulle part de procédure d'arret...

Merci.

Pour le shutdown t'as exactement le même problème que moi... J'ai mis un script dans /usr/syno/etc.defaults/rc.d/ en prenant modèle sur ceux d'origine. Il gère donc le démarrage, le redémarrage et l'arrêt du script. Oui mais voila le problème c'est qu'apparement il n'est pas pris en compte par la machine... donc suspense, je n'ai toujours pas trouvé la soluce!

Posté(e)

Pour le démarrage c'est /etc/rc qui est exécuté.

Celui-ci démarre :

- /etc/rc.local qui lui-même démarre les scripts de l'optware (/opt/etc/init.d/*)

- les scripts de chez Syno dans /usr/syno/etc/rc.d/*

Posté(e)

Ces scripts ne sont appelés qu'au démarrage et pas au shutdown...

En attendant une éventuelle plus belle solution, je suis en train de remplacer shutdown, reboot et halt dans /sbin par un script qui va exécuter les /opt/etc/init.d/K** avant d'appeler la commande correspondante de busybox...

Posté(e)
  • Auteur

Ces scripts ne sont appelés qu'au démarrage et pas au shutdown...

En attendant une éventuelle plus belle solution, je suis en train de remplacer shutdown, reboot et halt dans /sbin par un script qui va exécuter les /opt/etc/init.d/K** avant d'appeler la commande correspondante de busybox...

Désolé de te contredire mais après vérification les scripts contenus dans /usr/syno/etc.defaults/rc.d/ sont bien appelés également au shutdown de la machine pour terminer les services correspondant. Du moins, j'ai pu le vérifier avec tous ceux que j'ai testé, d'ailleurs si tu les ouvres (par exemple S97apache-sys.sh) tu t'appercevras qu'ils sont bien conçus pour accepter un "stop".

En tout cas ça ne solutionne pas le problème, je continue mes tests de mon côté... Je vous reviens si je trouve la soluce.

Posté(e)

Après plusieurs test il semble que tu aies raison.

Les scripts côté /usr/syno sont bien appelés au démarrage et au shutdown.

Par contre côté /opt, ils ne sont appelé qu'au démarrage.

Du coup je vais déplacer le démarrage de l'optware du rc.local vers un script que j'irai mettre côté /usr/syno...

Quelqu'un a une idée du script qui appelle les scripts de /usr/syno/etc/rc.d ?

Je suis pas un as du shell, comment je fais pour parcourir les fichier d'un répertoire par ordre décroissant ?

Posté(e)

Pour le listing inversé, j'ai trouvé :

ls -1 |sort -r|while read file

do

	echo "$file"

done

  • 2 semaines après...
Posté(e)
  • Auteur

Pour le listing inversé, j'ai trouvé :

ls -1 |sort -r|while read file

 do

	 echo "$file"

 done

ls -l | sort -r suffit normalement pas besoin de la boucle

Quelqu'un a une idée du script qui appelle les scripts de /usr/syno/etc/rc.d ?

Normalement c'est le script /etc/rc qui lance les scripts de démarrage, en tout cas c'est lui qui se charge de la procédure de démarrage du syno...

Posté(e)

ls -l | sort -r suffit normalement pas besoin de la boucle

Normalement c'est le script /etc/rc qui lance les scripts de démarrage, en tout cas c'est lui qui se charge de la procédure de démarrage du syno...

Bonsoir,

Je dirais même q'un

ls -rl

suffit, c'est encore plus court :D

A+ :hi:

Fred.

Posté(e)
  • Auteur

Bonsoir,

Je dirais même q'un

ls -rl

suffit, c'est encore plus court :D

A+ :hi:

Fred.

C'est vrai j'en avais oublié que ls est doté du paramètre r ;)

Par la même occasion j'en profite pour annoncer que j'ai enfin réussi à lancer mon script automatiquement au démarrage de l'ordinateur. Apparement il se lançait déjà tout seul mais les commandes du chroot ne fonctionnait pas pour une raison obscure. Il a suffit que je rajoute une redirection du flux d'erreur vers /dev/null pour ces commandes et tout est maintenant bel est bien executé, génial...

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.