Exscript est un langage de script pour automatiser les connexions réseau via des protocoles tels que Telnet ou SSH. Exscript est à certains égards comparables à attendre, mais possède des caractéristiques uniques qui le rendent beaucoup plus facile à utiliser et à comprendre pour les non-développeurs.
Exscript est écrit en Python et nous apprécions à base de composants, un code propre, donc il sera toujours facile à modifier et à étendre.
Présentation rapide
Avec Exscript vous pouvez rapidement automatiser une conversation avec un dispositif sur Telnet ou SSH. Par exemple, pour exécuter la commande "ls" sur trois hôtes différents, créez un fichier avec le contenu suivant:
ls
et puis l'exécuter en utilisant
./exscript.py my_template host1 host2 host3
Parler à plusieurs périphériques en même temps
Avec Exscript vous pouvez automatiquement paralléliser vos connexions, de sorte que plusieurs sessions sont ouvertes en même temps. Cela peut accélérer le temps dans lequel une commande spécifique se propage au sein de votre réseau.
Par exemple, imaginez que vous voulez exécuter le BGP clear ip * douce dans la commande sur vingt routeurs Cisco différentes. Commencez par créer un fichier texte avec le contenu suivant:
clair BGP ip * mou dans
Enregistrez ce fichier sous commands.exscript. En outre, créer un fichier texte qui contient la liste des noms d'hôte à laquelle la commande doit être envoyée:
host1
host2
...
host20
Enregistrez ce fichier sous hosts.txt. Pour envoyer ce changement à tous les routeurs dans le même temps, tapez la commande suivante:
./exscript.py --hosts hosts.txt -c15 commands.exscript
Notez que l'option -c15 provoque Exscript d'ouvrir un maximum de quinze connexions en même temps. Une fois le premier hôte de ces 15 est terminée, Exscript ouvre la connexion à l'hôte suivant, jusqu'à ce que le BGP clear ip * douce dans la commande a été envoyé à tous les hôtes.
Avancée Templates commande
Exscript modèles supportent beaucoup plus de commandes. Par exemple, pour automatiser une session avec un routeur Cisco, le modèle suivant peut être utilisé:
show version {extrait / ^ (cisco) / comme fournisseur}
{If fournisseur est «Cisco»}
show ip interface brief {extrait / ^ (S +) s / interfaces}
{interfaces de boucle que l'interface}
montrer exécutant l'interface $ l'interface
configure terminal
Interface $ l'interface
pas de fermeture
fin
{Fin}
copy running-config startup-config
{Fin}
Pour un aperçu complet sur le langage de template, regardez cette page.
Gestion des erreurs
Exscript est livré avec une excellente gestion des erreurs pour libre, sans ajout de code supplémentaire dans les modèles.
Options de ligne de commande
Vous pouvez passer des paramètres (ou listes de paramètres) dans les modèles et les utiliser pour conduire ce qui se passe sur l'hôte distant. Exscript supporte facilement l'exploitation forestière, les mécanismes d'authentification tels que TACACS et prend soin de la synchronisation de la procédure de connexion entre plusieurs connexions de fonctionnement
Ce qui est nouveau dans cette version:.
- L'API de protocole a été grandement améliorée et gère correspondance invite d'une manière beaucoup plus robuste.
- Support pour les connexions interactives a été ajouté.
- Exscript comprend maintenant serveurs Telnet et SSH.
- Exscript.util.mail a un support pour l'envoi de mails avec pièces jointes.
- De nombreux nouveaux outils pour les administrateurs système et les développeurs ont été ajoutés.
- La plupart des dépendances externes ont été supprimés: Exscript ne nécessite plus Paramiko et python-crypto. Soutien pour la version 1 de SSH a été retiré.
Ce qui est nouveau dans la version 2.0:
- Correction: barre d'état a été mis à jour * avant * la tâche était retiré de la liste.
Exigences :
- Python
- Python-crypto
- Python-pexpect
- ssh
Commentaires non trouvées