Возвращаясь к краеугольной теме любого сисадмина к бекапам, вынужден заметить что бекап требуется не только для серверов но и для коммутаторов(switch) и аппаратных маршрутизаторов. Вылетают флешки с записанным конфигом свитча редко, но во первых это все таки случается, во вторых, имеет место еще и ошибка сисадмина, а если она подкреплена излишней самоуверенностью в виде мгновенного write memory, то бекап становится единственным спасением.
Возвращаясь к краеугольной теме любого сисадмина
к бекапам, вынужден
заметить что бекап требуется не только для серверов но и для
коммутаторов(switch) и аппаратных маршрутизаторов. Вылетают флешки с
записанным конфигом свитча редко, но во первых это все таки случается,
во вторых, имеет место еще и ошибка сисадмина, а если она подкреплена
излишней самоуверенностью в виде мгновенного write memory, то бекап
становится единственным спасением.
Для бекапа с помощью моего скрипта потребуется в первую очередь
настроить Catalyst на выполнение удаленных команд с помощью rsh, для
этого надо выполнить такие настройки:
configure terminal no ip rcmd domain-lookup ip rcmd rsh-enable ip rcmd remote-host hilik 192.168.1.1 root enable
первая команда no ip rcmd domain-lookup запрещает проверку адреса хоста с которого вы соединяетесь со свитчем через DNS.
вторая ip rcmd rsh-enable – включает сам сервис rsh, а именно удаленную командную строку.
И наконец ip rcmd remote-host hilik 192.168.1.1 root enable – тут
описано, что пользователь hilik(этот пользователь должен существовать
на свитче), будет соединяться с хоста 192.168.1.1, на удаленном хосте
он будет под rootом и enable означает, что он будет выполнять команды
доступные в режиме enable.
Проверить правильность настройки можно выполнив с хоста 192.168.1.1 из под rootа такую команду:
rsh-l hilik 192.168.1.2 show running-config
192.168.1.2 – свитч на котором мы настроили rsh.
Если как результат выполнения этой команды вы увидели файл настроек
своего свитча, значит все получилось. Можно переходить к самому скрипту
бекапа.
Скрипт бекапа состоит из двух файлов, один из них catalyst.txt –
список свитчей с именами и backup_catalyst.pl – перловый скрипйт
непосредственно бекапящий настройки.
Файл catalyst.txt выглядит так:
#!/usr/bin/perl -w #Список свитчей тут $SW_LIST='catalyst.txt'; #Юзер от имени кторого бекапим свитчи $USER='hilik'; #Текущую дату будем использовать для имени файла #что бы иметь нужное
количество бекапов $date=`/bin/date +%d%m%Y`;\ #Бекапить будем сюда $BACKUP_DIR='/home/backup/';
open(IN,"<$SW_LIST")ordie"Ne mogu otkryt catalyst list"; while(<IN>) {