LINUX.ORG.RU
ФорумAdmin

Скрипт Ubuntu на бэкап через SSH

 , , ,


1

1

Здравствуйте, уважаемые любители линуксовых систем, помогите простому админу винды разобраться с задачей. Нужно настроить бэкапирование cisco (при чём не одной) на tftp через скрипт. Стандартный метод крон не подходит (матёрые админы ругаются на него, что типа тормозить начинает, а это телевидение, здесь малейшие тормоза негативно сказываются на UDP потоке). Так вот, есть идея поднять на сервере tftp и на одном из серверов на базе Ubuntu написать скрипт на bash, чтоб каждый вечер он подключался через SSH к каждому коммутатору поочерёдно и вводил необходимые для бэкапа команды, плюс сохранял время (ниже приложу сами команды). Ну и бекапы были каждый раз - новый файл. На тестовом стенде я создал слишком примитивный скрипт:

#!/usr/bin/expect set DATE [exec date +%F] spawn telnet 10.10.10.50 expect «Password:» send «admin\n» expect «User» expect «test_cisco_2960>» send «enable\r» expect «test_cisco_2960#» send «Sv123456\r» expect «test_cisco_2960#» send «copy running-config tftp\r» expect «host» send «10.10.10.51\r» expect «?» send «$DATE-IP_10-10-10-50\r»

Явные минусы тут:

  • это telnet;
  • пароли хранятся по сути в открытом виде, что очень плохо;
  • вводит команды долго. Каждые 5 секунд примерно;
  • не могу понять как закончить типа «цикл» и перейти к другой циске;
  • Запускаю скрипт вручную каждый раз.

Не кидайте помидорами, всё, что я знаю из линуксовых систем - это то, что это не windows, лол. Я сетевой инженер cisco по образованию :) Буду дико признателен, если разжуёте.

А почему не хранить конфиг в описанном виде и рулить через ansible?

Попробуй, удобно и от шаловливіх ручек спасение (приведение конфига к описанному автоматически)

Держи линк: https://www.ansible.com/integrations/networks/cisco

Не знаю, какие там устройства у тебя. Всякие АСЕ нетопс команда вроде как конфижила.

PunkoIvan ★★★★ ()
Последнее исправление: PunkoIvan (всего исправлений: 1)

если делать инкрементальный бэкап то трафик будет небольшой. бэкаплю сайты с помощью duplicity. но тебе врядли это поможет. для одного сайта размешенного на удаленном сервере где нельзя запустить duplicity я решил делать синхронизацию на другой сервер, а с этого места делать инкрементальный duplicity.
я циско не знаю. ставь туда sftp (лучше) или scp.

jura12 ()

а чем не устраивает стандартный archive config циски? В контексте conf t и arhcive есть параметр path, который может быть tftp-адресом, а так же параметр write memory который заставляет коммутатор скидывать копию конфига при каждом его изменении и иные полезные фичи.

Архивацию для версионирования изменений конфигов можно выполнять тем же кроном заставляя его делать что-то в духе git commit && git push из директории с локальным tftp на локальный git.

BOOBLIK ★★ ()

Нужно настроить бэкапирование cisco (при чём не одной) на tftp через скрипт. Стандартный метод крон не подходит (матёрые админы ругаются на него, что типа тормозить начинает

Жути какие. У вас там конфиги по 700 гигабайт что ли?

zolden ★★★★★ ()

Еще вариант:

  • поставить под винду bash, ssh (https://gitforwindows.org/ простейший вариант)
  • написать баш скрипт, который по списку хостов будет (используя авторизацию по ssh-ключам) через ssh запускать команду копирования конфига на tftp.
  • запихнуть в планировщик винды запуск раз в «когда нужно»
keir ★★ ()
Ответ на: комментарий от keir

Виндузятнику может проще написать батник? не заморачиватся с bash. Для конекта использовать консольные команды putty в этом же батнике.

Bootmen ★☆☆ ()
Последнее исправление: Bootmen (всего исправлений: 1)