run_ik.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/env python
  2. from __future__ import print_function
  3. from netmiko import ConnectHandler
  4. import os
  5. import time
  6. import argparse
  7. # import logging
  8. # import os
  9. # import time
  10. def main(args):
  11. # logging.basicConfig(filename='test.log', level=logging.DEBUG)
  12. # logger = logging.getLogger("netmiko")
  13. device = {
  14. 'username': args.username,
  15. 'ip': args.ip,
  16. 'device_type': args.device_type,
  17. 'password': args.password,
  18. 'secret': args.secret,
  19. 'verbose': False
  20. }
  21. net_connect = ConnectHandler(**device)
  22. config = net_connect.get_config()
  23. net_connect.disconnect()
  24. directory = args.directory + '/' + args.name + '/'
  25. if not os.path.exists(directory):
  26. os.makedirs(directory)
  27. file_name = directory + time.strftime("%Y%m%d%H%M%S") + '.log'
  28. print('Create file: ' + file_name)
  29. with open(file_name, 'w') as file:
  30. file.write(config)
  31. if __name__ == "__main__":
  32. parser = argparse.ArgumentParser()
  33. parser.add_argument("-u", "--username", help="Username to authenticate against target device if required")
  34. parser.add_argument("-i", "--ip", help="IP to connect")
  35. parser.add_argument("-d", "--device_type", help="Supported device type. Ej. casa_ik, huawei_ik, etc")
  36. parser.add_argument("-p", "--password", help="Password to authenticate against target device if required")
  37. parser.add_argument("-s", "--secret", help="The enable password if target device requires one")
  38. parser.add_argument("-n", "--name", help="Device name")
  39. parser.add_argument("-di", "--directory", help="Directory to save files")
  40. main(parser.parse_args())