Форум сайта python.su
Добрый день уважаемые коллеги. Помогите пожалуйста новичку. Есть скрипт который идет телнетом на свитчики и дает им команду копировать конфиг на tftp сервер. Все бы ни чего но не могу победить один момента: вставка даты и ip свитча в название файла который должен сохраниться на tftp. При этом получается создать лог-файл который именуется ip свитча. Необходимо в строчку tn.write ('copy startup-config tftp ip-address 192.168.210.15 filename \r' ) после filename вставить дату/время и ip коммутатора, ip скрипт берет из строки файла с ip адресами.
Буду очень благодарен за помощь. Сильно не пинайте))
#!/usr/bin/python3.5 #-*- coding:utf-8 -*- import telnetlib import time import datetime from datetime import datetime datetime.now().strftime('%Y-%m-%d-% %H:%M:%S') now = datetime.now() ip=open('/home/kantonov/script_test/ip/ip.txt','r') for line in ip: line=line[:-1] now=datetime.now() print line tn=telnetlib.Telnet(line) tn.read_until('User',5) tn.write('admin\r') tn.read_until('Password',5) tn.write('admin\r') tn.read_until('>') tn.write('en\r') tn.read_until('#') tn.write ('copy startup-config tftp ip-address 192.168.210.15 filename \r' ) tn.read_until('#') time.sleep(1) z= tn.read_very_eager() filename='/home/kantonov/script_test/Bakups/'+line+'.txt' file=open(filename,'w') file.write(z)
Отредактировано akd (Ноя. 1, 2017 20:38:41)
Офлайн
Это пример, как сформировать имя по любому шаблону. Также есть функция для упрощения добычи даты и времени в любом формате.
>>> import datetime >>> >>> def get_current_date_and_time(): ... now = datetime.datetime.now() ... date = '{:%Y-%m-%d}'.format(now) ... time = '{:%H:%M:%S}'.format(now) ... return (date, time) ... >>> def make_file_name(prefix, date, time, ext): ... return '{}_{}T{}.{}'.format(prefix, date, time, ext) ... >>> date, time = get_current_date_and_time() >>> >>> filename = make_file_name('name1', date, time, 'txt') >>> filename 'name1_2017-11-02T22:31:49.txt' >>>
Отредактировано py.user.next (Ноя. 2, 2017 13:33:16)
Офлайн