Forum Linux.général Lancer des scripts avec retour graphique via cron ?

Posté par . Licence CC by-sa.
1
2
juin
2018

Bonjour à tous… après un premier post où j'ai vu mes lacunes sur plusieurs points, je reviens à la charge avec mon besoin, mieux précisé.

voilà, je cherche à faire ceci:
lancer, via crontab, une série de script .sh (par exemple) afin d’exécuter une commande sur plusieurs machines, mais avec un retour graphique via une fenêtre de terminal PAR machine (si je lance une série de commandes sur la machine en 192.168.1.10, j'ai une fenetre de terminal pour celle la… et si j'ai la même série sur 192.168.1.11, j'ai une autre fenetre de terminal, etc…)
Ca prendrait la forme d’une fenêtre de terminal, qui se “logge toute seule” (les clés ssh ont été générées et copiées avant, évidemment) et me lance la série de commande avec les arguments… et j’ai, dans ma fenêtre, un « retour » d’information.

Prenons un exemple, j’utilise un soft cli d’encodage vidéo (appelons le videoencode) qui encode automatiquement les vidéos dans un dossier précis … que je veux lancer avec qq arguments (selon les paramètres d’encodage, quoi)… normalement, si je suis sur la machine en direct et que l’exec est dans le dossier Documents du dossier utilisateur en cours, je lance ~/Documents/videoencode -arguments1 -arguments2
ou bien je me déplace dans le bon dossier avec cd, puis je tape ./videoencode -arguments1 -arguments2

et dans mon terminal, je vois l’encodage qui se lance, le nom du codec utilisé, le bitrate, etc… (en fonction des arguments) et j’ai un retour toutes les 30 secondes, me disant: xx% done, no bad block, no error, VBR= xxxx b/s, etc… ce qui me permet de vérifier de garder un oeil sur l’encodage (et également de vérifier que les machines tournent bien…)… évidemment, si ca plante, ou si j’ai une coupure réseau, ca me mettra un retour selon le cas… « bad call », « error machin » « connection aborted » , etc… en fonction du souci.
Evidemment, les retours sont déjà programmés dans videoencode, hein… (mais pas par moi, ce n’est pas de ma compétence… hélas)

Avoir le retour juste par un mail ou dans un fichier texte, beeeen, non. L’idée c’est que dès que je me connecte à la machine, je vois rapidement les diverses fenetres de terminal, et les retours d’info pour relancer si besoin, etc…

ah oui: et ce serait sur une Debian.

Merci de vos lumières !

  • # en 2 temps ou pas

    Posté par . Évalué à 3 (+1/-0). Dernière modification le 04/06/18 à 09:17.

    • En 2 temps :

      • tu ouvres la connexion avec la machine, tu lances un screen/tmux screen -RdS task125 tu executes la commande tu detaches le screen
      • tu ouvres une connexion DEPUIS ta machine, tu te connectes sur le screen/tmux que tu veux surveiller. screen -RdS task125 tu vois alors la sortie en ligne de commande de la task125 lancée precedemment

    l'avantage de lancer ta tache dans un screen/tmux, c'est que tu peux perdre la connexion reseau, la tache continue en arriere plan

    • ou pas

    si tu renseignes un email dans ton script, via la variable MAILTO=tonemail@example.tld
    tu recevras par email le resultat de la sortie du script une fois celui-ci terminé (echec, reussite, progression)

  • # cron cron cron...

    Posté par . Évalué à 1 (+0/-0).

    hello…
    pour l'instant, je suis surtout bloqué dans la mesure où je n'arrive pas à lancer quoi que ce soit avec cron….

    si je lance mon script à la main, pas de souci, ca joue, que ce soit en l'exécutant via le bureau ou dans un terminal…

    j'ai essayé d'éditer avec crontab… ou bien via gnome-schedule… en respectant les règles mais rien…

    pour un script 1.sh, situé dans le dossier Documents de l'utilisateur user1 ,à éxcuter à midi, en semaine ca donnerait, normalement, si j'ai bien compris:

    00 12 * * 1-5 user1 /home/user1/Documents/1.sh
    

    J'ai bien compris ou quoi ? évidemment, mon script a une action visible directement, hein… si je le lance à la mano, je le vois fonctionner.
    En plus, schedule a une fonction permettant de tester un coup l'action… et ca ne me donne rien de plus. Le syslog ne montre aucune action…. qu'est ce que j'ai raté ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.