Skip to main content

Relais – Rendre les relais visibles pour tous les utilisateurs

S'applique à : Medulla Serveur
Version : Medulla 5.6.x
Environnement : On-Premise / Debian 12 / MariaDB
Catégorie : Administration / Gestion des relais
Script : enable_relay_display.sh

Cette FAQ explique comment utiliser le script enable_relay_display.sh pour rendre les relais Medulla visibles à tous les utilisateurs.

Elle présente les différentes possibilités d'utilisation du script : exécution ponctuelle, automatisation, simulation, consultation de l'état, annulation des modifications et réactivation.

Information :
Le script permet de rendre les relais Medulla visibles à tous les utilisateurs en ajoutant les règles globales manquantes.
Il ne modifie pas la configuration des relais et ne recrée pas les règles déjà présentes.


1. Prérequis

Avant d'utiliser le script, vérifier les points suivants :

  • Disposer d'un serveur Medulla On-Premise.
  • Utiliser un environnement Debian compatible, notamment Debian 12.
  • Disposer d'un serveur MariaDB compatible.
  • Avoir accès aux bases de données Medulla.
  • Disposer des droits administrateur nécessaires.
  • Pouvoir exécuter des commandes avec sudo ou en tant que root.

Le script effectue automatiquement plusieurs vérifications avant de modifier la configuration.

Attention :
Avant une première exécution sur un serveur de production, il est recommandé d'effectuer une sauvegarde des bases de données Medulla.
Pour une première utilisation, commencer par le mode simulation.


2. Installer le script

Télécharger le script sur le serveur Medulla

Se connecter au serveur Medulla en tant que root, puis télécharger le script officiel à l'aide de wget.

cd /root
wget https://dl.medulla-tech.io/enable_relay_display.sh

Dans les exemples de cette FAQ, le script est placé dans le répertoire :

/root/enable_relay_display.sh

Rendre le script exécutable

chmod 700 /root/enable_relay_display.sh

Vérifier son fonctionnement

Vérifier que le fichier a bien été téléchargé :

ls -lh /root/enable_relay_display.sh

Vérifier la syntaxe du script :

bash -n /root/enable_relay_display.sh

Afficher l'aide du script :

/root/enable_relay_display.sh --help

Cette commande présente les différentes fonctions disponibles.

Information :
Le mode ponctuel ne nécessite aucune installation supplémentaire.
Le script peut être exécuté directement après avoir été téléchargé et rendu exécutable.


3. Quelles sont les possibilités d'utilisation ?

Le script propose trois modes principaux.

Exécution ponctuelle

Permet de rendre immédiatement visibles les relais existants.

/root/enable_relay_display.sh run

Automatisation avec cron

Permet de vérifier régulièrement la présence des règles nécessaires, notamment lorsque de nouveaux relais sont ajoutés.

/root/enable_relay_display.sh install-cron --interval 15

Automatisation avec MariaDB

Permet d'effectuer les vérifications automatiquement depuis le planificateur d'événements MariaDB.

/root/enable_relay_display.sh install-proc --interval 15

Recommandation :
Pour une installation Medulla classique, le mode install-cron avec un intervalle de 15 minutes constitue une solution simple à administrer.


4. Utiliser le menu interactif

Le script dispose d'un menu interactif permettant d'accéder aux principales fonctions sans avoir à saisir les commandes manuellement.

Ouvrir le menu

/root/enable_relay_display.sh menu

Il est également possible de lancer directement :

/root/enable_relay_display.sh

Le menu permet notamment de :

  • Exécuter une correction ponctuelle.
  • Effectuer une simulation.
  • Installer une automatisation cron.
  • Installer une automatisation MariaDB.
  • Annuler une opération précédente.
  • Réactiver une automatisation suspendue.
  • Consulter l'état des relais et des automatisations.

Information :
Le menu interactif est particulièrement adapté à une première utilisation du script.


5. Simuler les modifications avant leur application

Avant d'effectuer des modifications, il est recommandé de lancer une simulation.

Exécuter une simulation

/root/enable_relay_display.sh run --dry-run

Cette commande permet de :

  • Vérifier les prérequis.
  • Identifier les relais existants.
  • Identifier les relais nécessitant une règle globale.
  • Consulter les opérations qui seraient effectuées.
  • Vérifier les journaux générés.

Simulation :
Le mode --dry-run permet de préparer et de visualiser les opérations sans appliquer les modifications sur les règles Medulla.

Simuler une installation cron

/root/enable_relay_display.sh install-cron --interval 15 --dry-run

Simuler une installation MariaDB

/root/enable_relay_display.sh install-proc --interval 15 --dry-run

6. Rendre immédiatement tous les relais visibles

Pour appliquer les règles manquantes sur les relais existants, utiliser le mode ponctuel.

Lancer l'exécution

/root/enable_relay_display.sh run

Le script effectue automatiquement les opérations suivantes :

  1. Vérification de l'environnement.
  2. Recherche des relais existants.
  3. Identification des relais nécessitant une règle globale.
  4. Ajout des règles manquantes.
  5. Enregistrement du résultat de l'exécution.
  6. Création d'un fichier permettant d'annuler les modifications.

Les règles déjà existantes ne sont pas recréées.

Vérifier le résultat

/root/enable_relay_display.sh status

Succès :
Lorsque l'exécution se termine correctement et qu'aucun relais ne nécessite de nouvelle règle, les règles globales recherchées sont présentes pour tous les relais existants.


7. Peut-on exécuter plusieurs fois le script ?

Oui.

Le script peut être exécuté plusieurs fois sans recréer les règles déjà présentes.

Pour relancer une vérification :

/root/enable_relay_display.sh run

Si tous les relais disposent déjà des règles nécessaires, aucune nouvelle règle n'est ajoutée.

Cette possibilité est particulièrement utile après l'ajout de nouveaux relais.


8. Automatiser la visibilité des relais avec cron

Le mode cron permet de maintenir automatiquement les règles globales des relais.

Il est recommandé lorsque de nouveaux relais peuvent être ajoutés régulièrement à l'infrastructure Medulla.

Installer une automatisation toutes les 15 minutes

/root/enable_relay_display.sh install-cron --interval 15

Le script installe une tâche planifiée sur le serveur Debian.

Un premier passage est effectué lors de l'installation afin de traiter les relais existants.

Emplacement de la tâche cron

La tâche est installée dans :

/etc/cron.d/medulla-relay-display

Vérifier la présence de la tâche

cat /etc/cron.d/medulla-relay-display

Vérifier l'état de l'automatisation

/root/enable_relay_display.sh status

Information :
Une fois l'automatisation installée, les nouveaux relais sont traités lors du prochain passage planifié.
Il n'est normalement plus nécessaire de relancer manuellement le script.


9. Quels intervalles peut-on utiliser avec cron ?

Le mode cron accepte les intervalles suivants :

  • 1 minute : --interval 1
  • 2 minutes : --interval 2
  • 3 minutes : --interval 3
  • 4 minutes : --interval 4
  • 5 minutes : --interval 5
  • 6 minutes : --interval 6
  • 10 minutes : --interval 10
  • 12 minutes : --interval 12
  • 15 minutes : --interval 15
  • 20 minutes : --interval 20
  • 30 minutes : --interval 30

L'intervalle doit diviser exactement 60 minutes.

Exemple : vérification toutes les 5 minutes

/root/enable_relay_display.sh install-cron --interval 5

Exemple : vérification toutes les 30 minutes

/root/enable_relay_display.sh install-cron --interval 30

Attention :
Un intervalle comme --interval 7 est refusé pour le mode cron.
Utiliser l'une des valeurs autorisées.


10. Automatiser la visibilité des relais avec MariaDB

Le script propose une seconde méthode d'automatisation utilisant directement le planificateur d'événements MariaDB.

Cette méthode permet de maintenir les règles globales sans installer de tâche cron sur Debian.

Installer l'automatisation MariaDB

/root/enable_relay_display.sh install-proc --interval 15

Cette commande configure l'automatisation pour une vérification toutes les 15 minutes.

Un premier passage est effectué pendant l'installation.

Utiliser un autre intervalle

Par exemple, pour une vérification toutes les 30 minutes :

/root/enable_relay_display.sh install-proc --interval 30

Vérifier l'installation

/root/enable_relay_display.sh status

Information :
L'automatisation MariaDB nécessite que le planificateur d'événements du serveur soit actif.


11. Vérifier le planificateur MariaDB

Pour que l'automatisation MariaDB fonctionne, le planificateur d'événements doit être activé.

Contrôler son état

mysql -N -B -e "SELECT @@GLOBAL.event_scheduler;"

Le résultat attendu est :

ON

Si le résultat est OFF, le planificateur n'est pas actif.

Activer temporairement le planificateur

Si nécessaire, et après vérification de la configuration du serveur :

mysql -e "SET GLOBAL event_scheduler = ON;"

Cette modification peut ne pas être conservée après un redémarrage de MariaDB.

Pour une activation permanente, adapter la configuration MariaDB du serveur.

Attention :
L'activation du planificateur MariaDB peut concerner d'autres événements présents sur le serveur.
Vérifier son utilisation avant de modifier ce paramètre.


12. Quelle automatisation choisir : cron ou MariaDB ?

Les deux méthodes permettent de maintenir automatiquement les règles globales des relais.

Choisir cron si :

  • Vous souhaitez une automatisation administrée depuis Debian.
  • Vous utilisez déjà cron pour vos tâches système.
  • Vous souhaitez consulter facilement la tâche planifiée.
  • Vous préférez une solution simple à superviser.

Choisir MariaDB si :

  • Vous préférez une automatisation directement gérée par la base de données.
  • Le planificateur d'événements MariaDB est déjà utilisé.
  • Vous ne souhaitez pas ajouter de tâche cron système.

Recommandation :
Pour une installation Medulla standard, nous recommandons le mode install-cron avec une vérification toutes les 15 minutes.


13. Peut-on installer les deux automatisations simultanément ?

Non.

Le script est conçu pour utiliser une seule méthode d'automatisation à la fois.

Il faut choisir :

  • Soit l'automatisation cron.
  • Soit l'automatisation MariaDB.

Pour changer de méthode, désinstaller d'abord l'automatisation existante à l'aide de son fichier de rollback.

Installer ensuite la nouvelle automatisation.


14. Vérifier l'état des relais et des automatisations

Le script propose une commande permettant de consulter l'état de la configuration.

Afficher l'état

/root/enable_relay_display.sh status

Cette commande permet notamment de vérifier :

  • La présence d'une automatisation cron.
  • La présence d'une automatisation MariaDB.
  • L'état du planificateur MariaDB.
  • Les relais ne disposant pas encore de la règle globale.
  • La présence éventuelle de doublons.
  • Les fichiers de rollback disponibles.

Bonne pratique :
Exécuter la commande status après chaque installation, modification ou désinstallation.


15. Que se passe-t-il lorsqu'un nouveau relais est ajouté ?

Le comportement dépend du mode utilisé.

Avec le mode ponctuel

Le nouveau relais sera pris en compte lors de la prochaine exécution manuelle.

/root/enable_relay_display.sh run

Avec une automatisation

Le nouveau relais sera automatiquement pris en compte lors du prochain passage planifié.

Aucune intervention manuelle n'est normalement nécessaire.


16. Consulter les journaux d'exécution

Le script conserve les informations relatives à ses exécutions dans un répertoire de journaux.

Par défaut, lorsque le script est placé dans /root/, ce répertoire est :

/root/relay_display_logs/

Afficher les fichiers disponibles

ls -lah /root/relay_display_logs/

Consulter le journal cron

tail -n 100 /root/relay_display_logs/cron.log

Suivre les exécutions cron en temps réel

tail -f /root/relay_display_logs/cron.log

Rechercher les derniers journaux

find /root/relay_display_logs/ -type f -name "*.log" -printf "%T@ %p\n" | sort -nr | head -20

Information :
L'emplacement des journaux peut être personnalisé avec la variable LOG_DIR.


17. Comment annuler une exécution ponctuelle ?

Le script génère un fichier de rollback permettant d'annuler les modifications effectuées.

Rechercher les fichiers de rollback

find /root/relay_display_logs/ -name "*.rollback.sh"

Exécuter le rollback

/root/enable_relay_display.sh rollback /root/relay_display_logs/NOM.rollback.sh

Remplacer NOM.rollback.sh par le nom du fichier correspondant à l'exécution à annuler.

Le script effectue les vérifications nécessaires avant de supprimer les règles concernées.

Attention :
Il est important d'utiliser le fichier de rollback correspondant à l'exécution que vous souhaitez annuler.
Ne pas supprimer manuellement les règles dans MariaDB.


18. Comment désinstaller l'automatisation cron ?

Pour supprimer l'automatisation cron, utiliser le fichier de rollback créé lors de son installation.

Identifier le fichier de rollback

find /root/relay_display_logs/ -name "*.rollback.sh"

Lancer la désinstallation

/root/enable_relay_display.sh rollback /root/relay_display_logs/NOM.rollback.sh

Le script permet de choisir entre deux possibilités :

  • Conserver les règles : supprimer l'automatisation sans retirer les règles déjà ajoutées.
  • Supprimer les règles : supprimer l'automatisation et annuler les modifications effectuées par celle-ci, dans la mesure où les règles n'ont pas été modifiées depuis.

Vérifier la désinstallation

/root/enable_relay_display.sh status

La tâche cron correspondant à cette installation ne doit plus être active.


19. Comment désinstaller l'automatisation MariaDB ?

La désinstallation de l'automatisation MariaDB utilise également le fichier de rollback créé lors de son installation.

Identifier le fichier de rollback

find /root/relay_display_logs/ -name "*.rollback.sh"

Lancer la désinstallation

/root/enable_relay_display.sh rollback /root/relay_display_logs/NOM.rollback.sh

Le script propose de conserver ou de supprimer les règles ajoutées par l'automatisation.

Il procède ensuite à la désinstallation des composants MariaDB concernés.

Vérifier la désinstallation

/root/enable_relay_display.sh status

Information :
Le rollback vérifie l'identité de l'installation avant de supprimer les composants associés.
Cela permet d'éviter qu'un ancien fichier de rollback supprime une installation plus récente.


20. Que se passe-t-il si des règles ont été modifiées ?

Une règle ajoutée par le script peut être modifiée ultérieurement par un administrateur ou par un autre composant.

Dans ce cas, le rollback normal protège les règles modifiées afin d'éviter leur suppression involontaire.

Si des modifications sont détectées, le script peut refuser de poursuivre la suppression de certaines règles.

Il est alors recommandé de :

  1. Consulter le message affiché par le script.
  2. Identifier les règles concernées.
  3. Vérifier si ces modifications doivent être conservées.
  4. Reprendre le rollback selon le résultat souhaité.

Attention :
Ne pas supprimer manuellement une règle modifiée sans avoir vérifié son utilisation actuelle dans Medulla.


21. Comment effectuer un rollback partiel ?

Lorsque certaines règles ont été modifiées, le script permet de poursuivre le rollback en conservant ces règles.

Les règles qui n'ont pas été modifiées peuvent être supprimées.

Les règles modifiées restent présentes.

Le fichier de rollback est conservé lorsqu'une intervention complémentaire reste nécessaire.

Information :
Un rollback partiel ne signifie pas nécessairement que l'opération a échoué.
Il peut simplement indiquer que certaines règles ont été conservées pour éviter la perte de modifications ultérieures.


22. Comment reprendre un rollback interrompu ?

Si un rollback est interrompu, il est possible de le relancer avec le même fichier.

Relancer le rollback

/root/enable_relay_display.sh rollback /root/relay_display_logs/NOM.rollback.sh

Le script prend en compte les étapes déjà effectuées et tente de poursuivre l'opération.

Attention :
Ne pas supprimer les fichiers de rollback et les fichiers d'état tant que l'opération n'est pas terminée.


23. Comment réactiver une automatisation suspendue ?

Une automatisation peut être suspendue à la suite d'un rollback interrompu.

Lorsque son état le permet, il est possible de la réactiver.

Réactiver l'automatisation

/root/enable_relay_display.sh reactivate

Vérifier son état

/root/enable_relay_display.sh status

Attention :
La réactivation est refusée lorsque le rollback a déjà commencé à supprimer les règles.
Dans cette situation, il faut poursuivre ou terminer le rollback.


24. Comment changer la langue du script ?

Le script est disponible en trois langues :

  • Français.
  • Anglais.
  • Espagnol.

Utiliser le français

/root/enable_relay_display.sh status --lang fr

Utiliser l'anglais

/root/enable_relay_display.sh status --lang en

Utiliser l'espagnol

/root/enable_relay_display.sh status --lang es

Le paramètre --lang peut également être utilisé avec les autres commandes.

Exemple :

/root/enable_relay_display.sh run --dry-run --lang en

25. Que faire si le script affiche une erreur ?

En cas d'erreur, commencer par consulter le message affiché dans le terminal.

Les causes possibles comprennent notamment :

  • Des permissions insuffisantes.
  • Une connexion MariaDB indisponible.
  • Une configuration de base de données incompatible.
  • Une automatisation déjà installée.
  • Un intervalle de planification incorrect.
  • Une opération précédente incomplète.
  • Une autre exécution en cours.

Effectuer un premier diagnostic

/root/enable_relay_display.sh status

Consulter les journaux

ls -lah /root/relay_display_logs/

Examiner ensuite le journal correspondant à l'opération ayant échoué.

Information :
Si le script refuse une opération, ne pas contourner les vérifications de sécurité sans avoir identifié la cause du refus.


26. Pourquoi un relais reste-t-il invisible après l'exécution ?

Le script ajoute les règles globales nécessaires à la visibilité des relais.

Il ne modifie pas les autres paramètres de fonctionnement de Medulla.

Si un relais reste invisible :

  1. Vérifier que le script s'est terminé sans erreur.
  2. Exécuter la commande status.
  3. Actualiser l'interface Medulla.
  4. Vérifier les droits de l'utilisateur concerné.
  5. Contrôler la configuration du relais.
  6. Consulter les journaux Medulla si le problème persiste.

Vérifier l'état

/root/enable_relay_display.sh status

27. Peut-on déplacer ou supprimer le script après installation ?

Il est recommandé de conserver le script à son emplacement initial tant qu'une automatisation est active.

En particulier, le mode cron utilise le chemin du script enregistré lors de l'installation.

Si le fichier est déplacé ou supprimé, les prochaines exécutions automatiques peuvent échouer.

Conserver également les fichiers de rollback jusqu'à la désinstallation complète de l'automatisation.

Attention :
Ne pas supprimer le script ou son répertoire de journaux avant d'avoir désinstallé les automatisations et vérifié leur état.


28. Quelle procédure suivre pour une première utilisation ?

Pour une première utilisation sur un serveur Medulla, nous recommandons la procédure suivante.

Étape 1 : vérifier l'environnement

/root/enable_relay_display.sh status

Étape 2 : effectuer une simulation

/root/enable_relay_display.sh run --dry-run

Étape 3 : appliquer les règles manquantes

/root/enable_relay_display.sh run

Étape 4 : vérifier le résultat

/root/enable_relay_display.sh status

Étape 5 : vérifier la visibilité dans Medulla

Se connecter à l'interface Medulla et contrôler que les relais attendus sont visibles pour les utilisateurs concernés.

Étape 6 : installer une automatisation si nécessaire

Pour une automatisation toutes les 15 minutes :

/root/enable_relay_display.sh install-cron --interval 15

Étape 7 : contrôler l'installation

/root/enable_relay_display.sh status

Succès :
Lorsque les vérifications sont satisfaisantes et que l'automatisation est active, les nouveaux relais pourront être pris en compte automatiquement lors des prochains passages.


29. Récapitulatif des commandes

Afficher l'aide

/root/enable_relay_display.sh --help

Ouvrir le menu interactif

/root/enable_relay_display.sh menu

Consulter l'état

/root/enable_relay_display.sh status

Simuler une exécution

/root/enable_relay_display.sh run --dry-run

Exécuter une correction ponctuelle

/root/enable_relay_display.sh run

Installer une automatisation cron

/root/enable_relay_display.sh install-cron --interval 15

Installer une automatisation MariaDB

/root/enable_relay_display.sh install-proc --interval 15

Annuler une opération

/root/enable_relay_display.sh rollback /root/relay_display_logs/NOM.rollback.sh

Réactiver une automatisation suspendue

/root/enable_relay_display.sh reactivate

Afficher les messages en anglais

/root/enable_relay_display.sh status --lang en

30. Recommandations

Pour utiliser le script dans les meilleures conditions :

  • Effectuer une sauvegarde avant la première utilisation.
  • Commencer par une simulation avec --dry-run.
  • Vérifier le résultat dans l'interface Medulla.
  • Privilégier le mode cron pour une automatisation simple.
  • Ne pas installer simultanément les deux automatisations.
  • Conserver les fichiers de rollback.
  • Ne pas déplacer le script lorsqu'une automatisation l'utilise.
  • Consulter les journaux en cas d'erreur.
  • Vérifier régulièrement l'état avec la commande status.

En résumé :
Pour rendre immédiatement tous les relais visibles, utiliser run.
Pour maintenir automatiquement leur visibilité, utiliser install-cron ou install-proc.
Pour vérifier la configuration, utiliser status.
Pour annuler une opération, utiliser le fichier de rollback correspondant.