Aller au contenu
jojo

synoschedtask

Recommended Posts

Bonjour,

Je souhaite lancer une tachê créée dans le gestionnaire de tâches du Syno.

Pour celà, il y a la fonction

synoschedtask --get

qui permet de visualiser les tâches programmées.

Voici chez moi pour la tâhce #2 :

MyAdmin@SynoBackup:/$ /usr/syno/bin/synoschedtask --get id=2
               ID: [2]
             Name: [Keep Alive]
            State: [enabled]
            Owner: [root]
             Type: [daily]
       Start date: [0/0/0]
         Run time: [0]:[0]
          Command: [/volume2/ScriptsUnix/KeepAlive_Synology.sh]
    Last Run Time: Fri Oct 12 00:00:02 2018
           Status: [Success]

d'après la doc

MyAdmin@SynoBackup:/$ /usr/syno/bin/synoschedtask --help
Copyright (c) 2003-2018 Synology Inc. All rights reserved.

Usage: synoschedtask (Version 23739)
	--get [<id=x> <state=disabled|enabled> <owner=x> <type=once|yearly|monthly|weekly|daily>]
	--del <id=x>
	--run <id=x> [check_time=0|1(default)] [check_status=0|1(default)]
	--reset-status
	--sync
	--help

Je dois faire ceci pour lancer la tâche

MyAdmin@SynoBackup:/$ /usr/syno/bin/synoschedtask --run id=2 check_time=0
MyAdmin@SynoBackup:/$ 

apparemment tout s'est bien passé, sauf que la tâche ne s'est pas exécutée

MyAdmin@SynoBackup:/$ /usr/syno/bin/synoschedtask --run id=2 check_time=0
MyAdmin@SynoBackup:/$ /usr/syno/bin/synoschedtask --get id=2
               ID: [2]
             Name: [Keep Alive]
            State: [enabled]
            Owner: [root]
             Type: [daily]
       Start date: [0/0/0]
         Run time: [0]:[0]
          Command: [/volume2/ScriptsUnix/KeepAlive_Synology.sh]
    Last Run Time: Fri Oct 12 00:00:02 2018
           Status: [Success]

MyAdmin@SynoBackup:/$ 

j'ai déjà posé la question ici : https://www.nas-forum.com/forum/topic/61113-commande-ssh-pour-lancer-tâche-du-planificateur-de-tâches/

mais chez eux ça fonctionne.

La seule différence que je sais, c''est que je suis sous Xpeno, mais ça je ne l'ai pas dit, car ils considèrent (à tort) que c'est du vol.

Alors, je vous le demande ? Ca fonctionne chez vous ? DSM 6.1 ou 6.2 ? (je suis en 6.2)

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Chez moi ça fonctionnait en 5.x, mais je crois (sans certitude) que ça a arrêté de fonctionner en 6.1

Je l'utilisais pour piloter mes backups en SSH depuis la HC2.

 

En 6.1 j'ai arrêté d'utiliser la commande synoschedtask et j'ai utilisé la commande /var/packages/HyperBackup/target/bin/dsmbackup à la place.

 

Et maintenant qu'on est en 4.510 sur la HC2, afin de ne plus avoir à utiliser de SSH, je passe par l'API HTTP.
Comme elle n'est pas documentée, il a fallu que j'utilise les outils de dév F12 du navigateur pour découvrir l'API de backup.

 

Il doit donc aussi exister une API pour les Tasks, il faut que tu étudies cela.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

donc, ce serait bien Xpeno la cause.

Pour "étudier" cela, je lance la tâche et avec F12, je vois ce qui passe ? (je n'ai jamais fait ça de ma vie)

 

En fait je dois lancer depuis un php une commande unix en tant que root.

Il y a peut-être un au moyen ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, c'est ça, avec F12 tu regardes l'onglet Réseau pendant que tu cliques sur la tâche pour la lancer.

 

Il fait quoi ce script ?

Partager ce message


Lien à poster
Partager sur d’autres sites

avec le script que j'ai développé avec @sebcbien pour SS, il peut m'envoyer en attachement un mail avec des photos d'une caméra.

Mais il y a des soucis avec le mail, et j'ai trouvé cette commande qui permet de solutionner le problème : mais encore .. c'est bof bof :

quand je la lance manuellement, et qu'ensuite je demande qu'il m'envoie la photo par mail, le mail part.

Par contre quand je plannifie cette commande toutes les minutes (et oui) parfois ça fonctionne, parfois pas. Va-t-en savoir pourquoi .

Alors je me disqiat que dans mon php, je pourrais lancer manuellement la tâche juste avant d'envoyer la photo.

J'zi déjà essayé en mettant la commande directement dans le php, ça ne fonctionne pas.

voici la commande :

chmod +r /usr/syno/etc/synosmtp.conf

ça me prend la tête depuis des mois. Je ne veux pas abandonner, mais je crain que je vais y être contraint

Partager ce message


Lien à poster
Partager sur d’autres sites

et dans l'onglet Réseau j'ai 7 tab

Si je vais dans le 1°, je trouve qqch dont le nom correspond au nom du job que je lance (connectionn=keep-alive), mais j'ai au moins 50 lignes, et je ne sais pas quoi chercher :20:

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne suis pas certain de bien comprendre ce que tu fais...

 

Dans l'onglet réseau, faut que tu cherches le type de requête (GET, etc), l'URL, et les éventuels paramètres.

 

Par exemple, voici ce que j'ai obtenu pour lancer un backup :

GET http://1.2.3.4:5000/webapi/entry.cgi?api=SYNO.Backup.Task&method=backup&task_id=4&version=1&_sid=jhfpisflkdsjclsdjflsj

Tu remarqueras le SID quand tu attaques l'API HTTP manuellement, comme tu utilises déjà pour Surv Station

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

ok, merci, je ne regarde donc que let GET, car il y a énormément de POS et peu de GET ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

voilà, je crois que j'ai trouvé la commande POST, mais il me faudrait de l'aide pour générer l'URL

3vkx.jpg

y2r4.jpg

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Donc c'est du POST, et il faut passer tout ce qui est dans "données du formulaire" dans les datas de la requête, et non pas dans l'URL.
C'est donc différent de l'API pour les backups

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

autant te dire que je n'ai rien compris, si ce n'est que je vais devoir abandonner.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

comme je suis têtu, j'ai quand même essayé ceci

http://192.168.x.x:5000/webapi/entry.cgi?api=SYNO.Core.TaskScheduler&method=run&version=1&task=[24]&_sid=xxxxx

et il m'a retourné une belle erreur 105

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Lazer a dit :

Je ne suis pas certain de bien comprendre ce que tu fais...

J'imagine bien que je n'ai pas été très clair.

Je vais essayer de reformuler mon besoins plus clzirement.

 

Avec ceci,

j'ai développé une partie du code php pour qu'il puisse envoyer un mail avec en PJ la photo d'une caméra.

Le mail ne part (plus) systématiquement (il y a queleques mois, c'était ok).

J'ai trouvé ce bout de code unix qui permetterait de régler ce problème, lié à l'envoit de mails en php

chmod +r /usr/syno/etc/synosmtp.conf

en mettant cela dans une tâche planifiée du Syno, ET si j'active l'option de m'envoyer un mail à chaque fois ET si la tâche tourne toutes les minutes, alors mon php envoie correctement le mail.

Sinon, nada !

Le problème c'est qu'il envoie 24*60 = 1440 mails par jours, et Google n'aime pas ça, il trouve que c'est trop ...

 

Donc mon idée était de n'exécuter le script (sous root) que quand il faut envoyer un mail.

D'où mon souhait de faire exécuter la tâche existante dans le syno.

Car j'ai déjà essayé de mettre directement l'instruction dans le php, mais ça ne va pas, car le php n'est pas exécuté sous root.

Et comme quand le lance manuellement la tâche, avant d'envoyer le mail, ça fonctionne....

 

Ai-je été plus clair dans mon explication ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Et installer un (vrai)serveur mail ? Sur Synology ou ailleurs...

Style postfix.

Partager ce message


Lien à poster
Partager sur d’autres sites

ouais là je crois que sebcbien a raison, parce que c'est assez tordu ta technique, et ça semble pas fiable du tout....

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, c'est sûr que ma solution n'est pas fiable comme elle le devrait.

@sebcbien me l'avait déjà dit off.

Et j'ai regardé les paquets syno pour ça, ça a l'air compliqué, il fat faire des config dans tous les sens, installer un DNS serveur, .... ce n'est pas clic, clic, clic.

et si je ne comprends pas ce que je fais, je n'aime pas ...

Alors avec mon blicolage à toutes les 10 min, ça semble tenir, mais pas 15 min ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Un serveur mail en docker c’est possible.

Mais il faut un syno qui supporte docker.

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, mais c'est encore rajouter une couche de virtualisation en plus : j'ai déjà Esxi, Xpeno, DSM, puis Docker.

et  s'il le faut je préfère apprendre DNS serveur que Docker

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors une VM Linux, dédiée à la fonction de serveur mail

Partager ce message


Lien à poster
Partager sur d’autres sites

J'allais le dire, tu n'as pas un linux qui tourne déjà pour autre chose ? 

Tu le configuré en relais, pas en serveur complet et je ne suis pas sûr que tu aie besoin d'un DNS... Ceci dit, les serveurs mail c'est pas mon fort

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, serveur mail c'est un abus de langage de ma part, il faut juste un relai SMTP.

Pas besoin de serveur DNS non plus.

Y'a pas mal de tutos pour faire un relai à email tout simple.

 

Par contre je me demande comment le script PHP sera capable de faire appel au serveur SMTP externe (c'est à dire en dehors du Syno)

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai une VM debian, et je vai chercher, ça m'occupera intelligemment

Partager ce message


Lien à poster
Partager sur d’autres sites

mais aolors je metterait également un serveur WEB sur cette machine linux qui hébergerait mon php, et alors, le script et le smtp sont ensebles

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 22 minutes, Lazer a dit :

Par contre je me demande comment le script PHP sera capable de faire appel au serveur SMTP externe (c'est à dire en dehors du Syno)

Effectivement... Et même " inside" je ne sais pas si ça se configure...

Et direct dans le linux du xpenology ?

Partager ce message


Lien à poster
Partager sur d’autres sites

et je viens de regarder, y'a quelques packages mail disponible dans le syno mail, mail server, mail plus, mail station...

Partager ce message


Lien à poster
Partager sur d’autres sites

×