This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

Jojo (BE)

commande SSH pour lancer tâche du planificateur de tâches

Messages recommandés

Bonjour Jojo

il est possible de faire cela avec la commande synoschedtask

synoschedtask --get
donne la liste des taches du cron

synoschedtask --run id=1

lance la tache N 1

cordialement.

Modifié par dominix.pf

Partager ce message


Lien à poster
Partager sur d’autres sites

merci beaucoup pour ta réponse
avec
synoschedtask --get
J'ai bien ma liste des tâches.

Mais avec
synoschedtask --run id=2

ma tâche #2 [Keep Alive]
               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: Mon Oct  8 00:00:02 2018
           Status: [Success]

ne se lance pas.

On voit ici qu'après le lancement manuel son last run time n'a pas changé

 

je me pose une question :
Est-ce qu'il va bien exécuter la tâches en tant que root (comme défini dans la tâche) ou en tant que l'utilisateur connecté ?
Car ce que je "veux", c'est qu'il la lance en tant que root, sans être connecté en root.

Partager ce message


Lien à poster
Partager sur d’autres sites

et juste pour le test (alors que je ne pourrai pas le faire en réel)

je me suis connecté en root (via sudo -i)
et j'ai exactement le même résultat (pas d'erreur, mais pas d'action également)

Partager ce message


Lien à poster
Partager sur d’autres sites

Sorry je n'étais pas chez moi hier soir, mais j'avais déjà regardé l'option --help et la première chose que j'ai faite c'est d'aller sur Google pour avoir un help sur le le help (pas eu le temps de trouver toutes les réponses à mes questions). 

Mais voici les tests que j'ai fais :

--run en tant qu'utilisateur normal, en tant qu'admin et en tant que Root (via sudo-i) 

Lors de chacun de ces tests, la commande s'exécute sans erreur au niveau ssh, mais je ne reçois pas le mail de test (c'est ce que fait le script) alors que le résultat est ok, quand j'exécute le script depuis le planificateur de tâches. De plus, si je précise un id de tâche qui n'existe pas, j'ai bien une erreur ssh ;-) 

Si vous avez des idées pour m'aider =>merci 

Partager ce message


Lien à poster
Partager sur d’autres sites

voici le résultat de

synoschedtask --help

Citation

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

--get => ok
--run => ok (mais ça ne fonctionne pas) j'ai "tout" essayé
 

Citation

MyAdmin@SynoBackup:/$  synoschedtask --run <id=2>
-sh: syntax error near unexpected token `newline'
MyAdmin@SynoBackup:/$  synoschedtask --run id=2
MyAdmin@SynoBackup:/$  synoschedtask --run 2
[Line 457] Argument id > 0 is required. [-1]
MyAdmin@SynoBackup:/$

--del => je suppose que c'est pour supprimer la tâche
--reset-status => ??
--sync => ??

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu utilises pas les variable Check time et check status ? A mon avis la première fait que le script ne s’execute pas si l’horaire de la tâche n’est pas là, enfin je supposes... passe sa variable à 0 voir.

Sinon tu fais une exécution manuelle et tu va voir les logs pour voir la commande ?

Partager ce message


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

Tu utilises pas les variable Check time et check status ? A mon avis la première fait que le script ne s’execute pas si l’horaire de la tâche n’est pas là, enfin je supposes... passe sa variable à 0 voir.

non, je ne comprends pas de quoi tu parles. Désolé, je ne suis pas un expert ...

il y a 8 minutes, Einsteinium a dit :

Sinon tu fais une exécution manuelle et tu va voir les logs pour voir la commande ?

donc, justement c'est mon soucis, c'est que je n'arrive pas à  le lancer manuellement, ou plutôt oui, je le lance, mais ça n'a aucun effet. Je viens à l'instant de le faire

Citation

MyAdmin@SynoBackup:/$ 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: Wed Oct 10 19:15:43 2018
           Status: [Success]

MyAdmin@SynoBackup:/$ synoschedtask --run id=2
MyAdmin@SynoBackup:/$ 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: Wed Oct 10 19:15:43 2018
           Status: [Success]

MyAdmin@SynoBackup:/$

en tout cas merci de te pencher sur mon cas 😄

Partager ce message


Lien à poster
Partager sur d’autres sites

Regarde le help que tu as mis, il y a des variables pour le run, et à mon avis c’est ça et vue que c’est un script que tu exécutes périodiquement, là si on regarde la date et heure de la dernière exécution, le run est inactif... essaye :

synoschedtask --run id=2 check_time=0

Partager ce message


Lien à poster
Partager sur d’autres sites

merci pour ces infos.

J'étais donc rentré avec plein d'espoir chez moi. (j'avais déjà presque commandé un bac de bières à te faire livrer pour te remercier 🍺)
Et quand je teste, avec check_time=0 ou check_status=0 ou chack_time=0 check_satus=0, le ---get de change pas.

La seule chose qui a changé depuis hier soir, c'est qu'avant je pouvais lancer la commande
synoschedtask
et maintenant, je dois la lancer
/usr/syno/bin/synoschedtask
et je n'ai rien fait, même pas un restart de mon Syno.

Modifié par Jojo (BE)

Partager ce message


Lien à poster
Partager sur d’autres sites

Le Check status c’est par rapport au statut dans le gestionnaire (activé ou pas).

C’est bizarre la logique voudrais que... je vais testé voir de mon côté 

1539319948-b99d31dd-716a-415d-a8b0-69333

Comme tu peux le voir aucun soucis de mon côté, j’ai fais un run basique pour l’exemple, pour lequel je savais qu’il n’y aurais pas d’exécution car par défaut le check_time est à 1 (et donc il vérifie que les conditions temporelles soit acquises), donc je passes la variable à 0 et comme tu peux le voir il y a bien exécution.

Le check_status est à 1 par défaut, à forcé en 0 que si c’est pour une tâche désactivée 😉

ps : je bois pas d’alcool, mais je dis pas non. A un pack de coca 🤣

Partager ce message


Lien à poster
Partager sur d’autres sites

(voic la réponse que j'avais faîte et qui n'est jamais partie ......)

merci pour ces tests approfondis, je ne sais donc pas quoi dire pour chez moi.
Je continue encore de fouiller (en tout cas, j'aurai appris qqch 😃)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant