Synology Script pour executer une URL apres un reboot

xavax

Chevalier Jedi
Membre Confirmé
10 Mars 2021
179
7
18
Bonjour,
Est ce possible de faire un script pour activer un appareil via une URL apres un reboot du syno.
Par exemple : apres une coupure d'électricité, lorsque le syno redemarre, il declenche un scipt qui rallumer un appareil 5minutes apres le redemarrage ?
Merci pour votre aide
 
Probablement avec une commande Curl.
Si tu sais lancer la commande HTTP depuis un pc pour réveiller ton appareil cible, une commande Curl devrait faire l'affaire avec un script PHP.
 
Tout à fait possible. Sur DSM ≤6.2.x via /etc/rc.local (penser à inclure un sleep avant l'exécution de sorte que les processus système soient pleinement opérationnels) ou via /etc/cron.d/* avec la syntaxe classique d'une crontab.

DSM ≥7.x utilisant systemd, il est possible de créer un service avec la syntaxe usuelle.
 
Merci pour vos réponses, mais du coup je dois faire comment ? ca se passe ou dans le NAS pour la configuration ?
 
Dans 'panneau de configuration', 'planificateur de tache' 'Créer' 'Tache déclenchée'
Dans 'Evenement' tu choisis 'Démarrage' et dans l'onglet 'Parametres de tache' tu indiques la tache qui sera un script PHP ou SH suivant le script que tu as fait.
Je suppose que tu connais la ligne URL pour réveiller ton appareil cible.
 
  • J'aime
Réactions: cooper
Merci, pour l'instant je n'ai pas encore acheté le module a piloter via URL. Je suis entrain de me renseigner sur la faisabilité avant.
tu indiques la tache qui sera un script PHP ou SH suivant le script que tu as fait.
Je n'ai rien fait et je ne maitrise pas du tout cette partie. Il faut créer un ficher .sh ? mais je ne sais pas quoi mettre dedans pour que ca demarre
 
Oui il faut passer par un script shell. Quel est le modèle d'URL ? Suffit-il d'accéder à cet URL pour réveiller l'appareil ?
 
Je ne peux pas deviner quelle sera la commande.
Demande au vendeur du produit ^^
Edit : tu as répondu entre temps.
 
Dernière édition:

La commande serait par exemple :
Code:
curl -X POST http://192.168.0.25/light/0?turn=on

Maintenant si tu souhaites que l'allumage se fasse 5 minutes après le démarrage de ton NAS, enregistre dans un script shell (par exemple : shelly_on.sh) en veillant à ce que le script soit exécutable (chmod +x <chemin_du_script>) :
Bash:
#!/bin/sh

# Run the next command 5 minutes (300s) after script's launch
sleep 300

# Turn on the shelly
curl -X POST http://192.168.0.25/light/0?turn=on || exit 1

Dans le planificateur de tâches du NAS, mettre dans la partie "Exécuter la commande" :
Code:
bash <chemin_du_script.sh>
 
Le script doit être avec utilisateur Root.
Tu devrais créer un utilisateur dans le groupe admin et ensuite ne plus utiliser l'utilisateur 'admin' en le désactivant par sécurité.
Doit y avoir un tuto sur ce forum pour faire ça.
 
j'ai mis en root, au démarrage, ca ne fonctionne pas.
Pour faire des tests j'ai fait une tache planifiée avec juste ceci et sans timer
Code:
#!/bin/sh

# Turn on the shelly
curl -X POST http://192.168.1.6/relay/0?turn=on || exit 1
J'ai testé l'url dans un navigateur la prise s'allume bien.

Je ne sais pas ce qui ne va pas
J'ai desactivé la tache planifiée au demarrage.
J'ai tester avec la tache plinifiée que j'ai executée plusieurs fois sans succes.
Comme ca ne fonctionnait pas j'ai fait un reboot pour anuler les tache en cours et a l'extinction du syno la prise s'est allumée... je ne comprend pas pourquoi car il n'y a plus le timer de 300s dans mon script.
J'ai testé 2 fois et 2 fois la prise s'est allumée a l'extinction du syno pourtant je n'ai pas de tache active en fonction du demarrage ou extinction
C'est bien comme ceci qu'on indique le chemin du script ?
1668876803667.png
Il faut obligatoirement mettre bash deavant ou pas ? car j'ai d'autres script qui fonctionne sans le bash devant mais juste avec le chemin
 
Dernière édition:
Tu dois faire un script et appeler le script depuis une tache planifiée en précisant le chemin.
Et non pas ecrire le script dans la tache planifiée.
 
oui je fais un fichier .sh que je mets dans le dd et je mets le chemin de ce fichier ? comme sur ma copie d'ecran ?
 
Je mets toujours le / en début de ligne par principe avec le chemin complet.
En lançant la tache ton script doit s'executer.
 
J’ai fait ca et ça ne fonctionne pas. Le prise ne s allume que lorsque j’éteins le NAS. La tâche se débloque à ce moment là. Je ne comprends pas
 
Je ne connais pas le matériel que tu veux piloter.
J'ai plusieurs scripts que je lance via le planificateur de tâches sans problèmes. Ca concerne du matériel Comap, Netatmo, Legrand, Philips Hue qui fonctionne avec des commandes CUrl.