PowerExec est un outil puissant conçu pour simplifier et automatiser l'exécution de scripts sur des systèmes distants. Il se distingue par sa capacité à gérer des chaînes de connexion complexes via de multiples serveurs relais (jump hosts), supportant un nombre illimité de sauts. L'outil vise à résoudre les problèmes liés aux tâches de maintenance informatique répétitives et manuelles, en offrant une flexibilité notable.
Démarrage rapide
Prérequis
- Java 17
Installation et configuration
-
Clonage du dépôt :
git clone https://github.com/shixinmuhuo/PowerExec.git -
Compilation du projet :
Utilisez Maven pour compiler le code. Les tests unitaires sont désactivés pour accélérer le processus.
mvn clean package -Dmaven.test.skip=true -
Exécution :
Lancez l'application en spécifiant les chemins de configuration et le nombre maximal de tâches parallèles.
java -Dlog4j.configurationFile=/chemin/vers/log4j2.xml -jar PowerExec-1.0.jar --hosts=/chemin/vers/hosts.properties --scripts=/chemin/vers/scripts.json --parallelism=10
Paramètres de lancement
-Dlog4j.configurationFile: Chemin vers le fichier de configuration Log4j (facultatif, utilise la configuration intégrée par défaut).-jar: Indique le fichier JAR de l'application.--hosts: Chemin absolu vers le fichier de configuration des hôtes.--scripts: Chemin absolu vers le fichier de configurasion des scripts.--parallelism: Nombre maximal de tâches pouvant être exécutées simultanément.
Cas d'utilisation et bonnes pratiques
Exemples concrets
-
Connexion via relais et exécution de scripts :
Pour accéder à un serveur cible via un ou plusieurs relais et y exécuter des commandes, définissez les informasions de connexion de chaque relais et du serveur final dans le fichier
hosts.properties. Les commandes à exécuter sont spécifiées dansscripts.json. -
Exécution parallèle de tâches d'administration :
PowerExec excelle dans l'application simultanée des mêmes opérations sur plusieurs serveurs. Configurez simplement les détails de connexion de chaque serveur dans le fichier d'hôtes et ajustez le paramètre
--parallelismpour optimiser l'efficacité.
Recommandations
-
Gestion des configurations :
Il est conseillé de séparer les fichiers de configuration du code source pour faciliter la maintenance et les mises à jour.
-
Surveillance via journalisation :
Configurez judicieusement la journalisation pour simplifier le diagnostic des problèmes et l'analyse des opérations.
-
Sécurité des accès :
Assurez-vous que les fichiers de configuration et les scripts sont protégés pour prévenir toute fuite d'ifnormations sensibles.
Composants de l'écosystème
-
Apache Maven :
Utilisé pour la gestion et la construction du projet, Maven automatise les processus de build, de test et de déploiement.
-
Log4j :
Ce framework de journalisation est intégré pour une gestion efficace des logs, aidant au suivi et au débogage des applications.
-
Bibliothèques clientes SSH et Telnet :
PowerExec s'appuie sur des bibliothèques robustes pour établir les connexions distantes et exécuter les commandes via les protocoles SSH et Telnet.