Exscript це скриптова мова для автоматизації мережевих з'єднань на таких протоколів, як Telnet або SSH. Exscript в деяких відносинах порівнянним очікувати, але має ряд унікальних особливостей, які роблять його набагато простіше у використанні і зрозуміти, для не-розробників.
Exscript написано в Python, і ми цінуємо компонентну, чистий код, тому він завжди буде легко змінювати і розширювати.
Короткий вступ
З Exscript ви можете швидко автоматизувати розмову з пристроєм над Telnet або SSH. Наприклад, щоб виконати команду "LS" на трьох різних господарів, створити файл з наступним змістом:
Ls
, А потім запустити його за допомогою
./exscript.py my_template host1 host2 host3
Розмова з декількома пристроями в той же самий час
З Exscript можна автоматично паралелізації з'єднань, таким чином, що кілька сеансів відкриті одночасно. Це може прискорити час, в який конкретні команди, які розповсюджуються в мережі.
Наприклад, уявіть, що ви хочете, щоб виконати чітку IP BGP * м'який в команді на двадцяти різних маршрутизаторах Cisco. Почніть зі створення текстового файлу з наступним змістом:
ясно IP BGP * м'який в
Збережіть цей файл як commands.exscript. Крім того, створіть текстовий файл, що містить список імен хостів, до яких команда повинна бути відправлена:
host1
host2
...
host20
Збережіть цей файл як hosts.txt. Щоб відправити це зміна всіх маршрутизаторів в той же час, введіть наступну команду:
./exscript.py --hosts Hosts.txt С15 commands.exscript
Слід зазначити, що параметр С15 викликає Exscript щоб відкрити максимум п'ятнадцяти з'єднань одночасно. Після того, як перший хост з цих 15 буде завершена, Exscript відкриває з'єднання до наступного господаря, до ясного внутрибрюшинно BGP * м'який в команді був відправлений на всі комп'ютери.
Розширений Шаблони команд
Exscript підтримка шаблонів ще багато команд. Наприклад, щоб автоматизувати сесію з маршрутизатором Cisco, можуть бути використані наступні шаблони:
Показати версію {екстракт / ^ (Cisco) / а} постачальника
{Якщо продавець є "Cisco"}
показати IP-інтерфейсу короткий {екстракт / ^ (S +) S / як інтерфейси}
{Цикл інтерфейси як інтерфейс}
показати працює інтерфейс $ інтерфейс
налаштувати термінал
Інтерфейс $ інтерфейс
немає закриті
кінець
{Кінець}
скопіювати обкатки конфігурації запуску-конфігурації
{Кінець}
Для повного огляду з мови шаблону, подивіться на цій сторінці.
Обробка помилок
Exscript приходить з обробкою помилок відмінний безкоштовно, без додавання будь-яких додатковий код в шаблонах.
Параметри командного рядка
Ви можете передати параметри (або списки параметрів) в шаблони і використовувати їх для їзди, що відбувається на віддаленому хості. Exscript легко підтримує журналирования, механізми аутентифікації, такі як TACACS і піклується про синхронізацію процедуру входу між декількома запущеними з'єднань
Що нового У цьому випуску :.
- API протокол значно покращився, і обробляє швидке узгодження в набагато більш надійний спосіб.
- Додана підтримка для інтерактивних з'єднань.
- Exscript тепер включає в себе Telnet і SSH-сервери.
- Exscript.util.mail має підтримку для відправки пошти з вкладеннями.
- Численні нові утиліти для системних адміністраторів і розробників.
- Більшість зовнішніх залежностей були видалені: Exscript тепер тільки потрібно Paramiko і пітон-Crypto. Підтримка SSH версії 1 був видалений.
Були додані
Що нового у версії 2.0:
- Виправлена помилка: рядок стану була оновлена * перед * завданням було вилучений зі списку.
Вимоги
- Python
- Python-шифрування
- Python-pexpect
- SSH
Коментар не знайдено