Exscript is a Python module and a template processor for automating network connections over protocols such as Telnet or SSH. We attempt to create the best possible set of tools for working with Telnet and SSH.
Exscript also provides a set of tools and functions for sysadmins, that simplify regular expression matching, reporting by email, logging, or syslog handling, CSV parsing, ip address handling, template processing, and many more.
Exscript may be used to automate sessions with routers from Cisco, Juniper, OneAccess, Huawei, or any others. If you want to configures machines running Linux/Unix, IOS, IOS-XR, JunOS, VRP, or any other operating system that can be used with a terminal, Exscript is what you are looking for.
Exscript is supported by Procedure 8. Get in touch if you need anything!
from Exscript.protocols import SSH2 from Exscript.util.interact import read_login conn = SSH2() conn.connect('localhost') conn.login(read_login()) conn.execute('uname -a')
from Exscript.util.start import start from Exscript.util.file import get_hosts_from_file from Exscript.util.file import get_accounts_from_file def do_something(job, host, conn): conn.execute('uname -a') accounts = get_accounts_from_file('accounts.cfg') hosts = get_hosts_from_file('myhosts.txt') start(accounts, hosts, do_something, max_threads=2)
Create a file named
test.exscript with the following content:
To run this Exscript template, just start Exscript using the following command:
exscript test.exscript ssh://localhost
Awesome fact: Just replace
telnet:// and it should still work with Telnet devices.
Full documentation is here: