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
sudoou en tant queroot.
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
- 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.
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 :
- Vérification de l'environnement.
- Recherche des relais existants.
- Identification des relais nécessitant une règle globale.
- Ajout des règles manquantes.
- Enregistrement du résultat de l'exécution.
- 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 :
- Consulter le message affiché par le script.
- Identifier les règles concernées.
- Vérifier si ces modifications doivent être conservées.
- 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 :
- Vérifier que le script s'est terminé sans erreur.
- Exécuter la commande
status. - Actualiser l'interface Medulla.
- Vérifier les droits de l'utilisateur concerné.
- Contrôler la configuration du relais.
- 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.