Forum général.général [Asterisk] Comment scripter ça ? (module load app_stack.so)

Posté par  (site web personnel) . Licence CC By‑SA.
1
13
juin
2024

Bonjour,

Notre administrateur système est débordé et il m’a juste donné une petite recette à exécuter « à la main » dès lors que « nous n’avons plus de téléphone » dans nos bureaux :/

1°) me connecter au serveur (en ssh)
2°) asterisk -rv
3°) module load app_stack.so
4°) Ctrl+C (pour sortir de là)
5°) se déconnecter du serveur (Ctrl+D)

Et ça fonctionne, dans 90 % des cas. Car le problème est parfois plus grave et nécessite, soit un redémarrage du service, soit une intervention divine (= le sysadmin débordé).

Je sais pas exactement ce qui se passe ni l’origine du problème :(

Mais j’aimerais bien que cela soit scripté dans un cron exécuté chaque minute…
Il faudrait
• pouvoir tester et détecter la panne
• le cas échéant faire l’équivalent de la petite recette ci-dessus.

(Asterisk 11.13.1~dfsg-2+deb8u8)

Qu’en pensez-vous ?

PS: Je suis capable de comprendre des commandes bash et d’ajouter un cron.

Merci d’avance.

  • # script via ssh

    Posté par  (site web personnel) . Évalué à 4 (+2/-0). Dernière modification le 13 juin 2024 à 13:38.

    Mais j’aimerais bien que cela soit scripté

    ssh te permet d'exécuter des scripts distants :

    ssh admin@asterisk.example.com 'asterisk -rv ; module load app_stack.so'

    tu auras déclaré ta clé publique (id_rsa.pub) sur le compte admin du serveur asterisk.example.com au préalable, pour ne pas avoir à rentrer ton mot de passe…

    dans un cron exécuté chaque minute…

    ça, ce n'est pas la meilleure idée du monde, surtout si le traitement peut durer plus d'une minute… outre les logs à outrance que cela peut générer si le traitement part en vrille (il y a toujours des cas d'erreur auquel on n'a pas pensé :/)
    si chaque utilisateur commence à faire cela, cela peut faire pas mal de connexions concurrentes…

    pouvoir tester et détecter la panne

    déjà identifier les commandes permettant d'avoir le statut de fonctionnement (soit par un client local, soit par une commande sur le serveur) ce serait pas mal ;-)

    bref, t'en as trop dit, ou pas assez :-) ça manque de contexte :/ (notamment, tes commandes sont-elles interactives ?)

    qui le lancerait ? qui l'utilise ? traçabilité des accès ?
    combien de fois ça arrive ? combien de personnes concernées ?
    comment ça se passe si tu n'es pas là ? comment c'est géré s'il y a un changement de version d'asterisk qui modifie le comportement ?

  • # automatisation

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

    S'il faut croner, c'est sur le serveur.
    Et un script avec un check de bon fonctionnement et la commande de résolution mis en daemon est probablementune meilleure solution.

Envoyer un commentaire

Suivre le flux des commentaires

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