run_huawei.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 + '/' + time.strftime("%Y%m%d%H%M%S")
  25. print('Create directory:\n\t' + directory)
  26. os.makedirs(directory)
  27. print('\t\tSaving file ' + args.name + '.log\n')
  28. with open(directory + '/' + args.name + '.log', 'w') as file:
  29. file.write(config)
  30. if __name__ == "__main__":
  31. parser = argparse.ArgumentParser()
  32. parser.add_argument("-u", "--username", help="Username to authenticate against target device if required")
  33. parser.add_argument("-i", "--ip", help="IP to connect")
  34. parser.add_argument("-d", "--device_type", help="Supported device type")
  35. parser.add_argument("-p", "--password", help="Password to authenticate against target device if required")
  36. parser.add_argument("-s", "--secret", help="The enable password if target device requires one")
  37. parser.add_argument("-n", "--name", help="Device name")
  38. parser.add_argument("-di", "--directory", help="Directory to save files")
  39. main(parser.parse_args())