Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 1, 2017 20:36:39

akd
Зарегистрирован: 2017-11-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Дата в строку для передачи ее коммутатору

Добрый день уважаемые коллеги. Помогите пожалуйста новичку. Есть скрипт который идет телнетом на свитчики и дает им команду копировать конфиг на 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)

Офлайн

#2 Ноя. 2, 2017 13:32:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Дата в строку для передачи ее коммутатору

Это пример, как сформировать имя по любому шаблону. Также есть функция для упрощения добычи даты и времени в любом формате.

  
>>> 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version