Набросал скрипт для автоматического резервного копирования конфигурации BDCOM P3310C-2AC EPON.

Собственно сам скрипт:

#!/bin/bash
# Backup BDCOM
(
sleep 5
echo "admin"
sleep 5
echo "password"
sleep 5
echo "enable"
sleep 2
echo "write all"
sleep 15
echo "copy startup-config tftp://bdcom.cfg 192.168.1.2"
sleep 2
echo "quit"
sleep 10
echo "quit"
) | telnet 192.168.1.3
mv /srv/tftp/bdcom.cfg /backups/devices/pon/`date +%Y-%m-%d`_bdcom.cfg

Можно передавать еще файлы:

echo "copy flash:ifindex-config tftp://`date +%Y-%m-%d`_1028_nas_10_ifindex.cfg 192.168.1.2"
sleep 2
echo "copy flash:config.db tftp://`date +%Y-%m-%d`_1028_nas_10_configdb.cfg 192.168.1.2"
sleep 7

Содержимое скрипта поместим например в файл backup_cfg.sh и добавим его в планировщик заданий, добавив указанную ниже строку в файл /etc/crontab:
0 1 * * * root /backups/scripts/backup_bdcom.sh >/dev/null 2>&1

Файл можно открыть например в текстовом редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/crontab

Опишу кратко его работу, он подключается по telnet к bdcom 192.168.1.3 и копирует конфигурацию на tftp сервер 192.168.1.2, потом файл перемещается в удобную директорию для хранения.
Скрипт писал под операционные системы Linux, на данный момент использую в Ubuntu Server.
Как запустить tftp сервер смотрите в моих статьях:
Установка и настройка TFTP сервера в Ubuntu
Запуск TFTP сервера на Windows

Подобным образом можно делать резервную копию используя expect, например

#!/usr/bin/expect
# sudo apt install expect
set timeout 30
#set host [lindex $argv 0]
#set user [lindex $argv 1]
#set password [lindex $argv 2]
#spawn telnet $host
spawn telnet 192.168.2.3
expect "Username:"
#send "$user\n"
send "admin\n"
expect "Password:"
#send "$password\n"
send "password\n"
expect "Switch>"
send "enable\n"
expect "Switch#"
send "copy startup-config tftp://ixnfo.cfg 192.168.2.2\n"
expect "Switch#"
send "quit\n"
expect "Switch>"
send "quit\n"

Смотрите также мои статьи:
Использование и настройка CRON
Скрипт резервного копирования BDCOM GP3600

Вливайтесь в общение

1 комментарий

Добавить комментарий

  1. Немного поправил скрипт с expect под себя, делюсь

    #!/usr/bin/expect

    set timeout 60
    spawn telnet 192.168.1.2
    expect «Username:»
    send «admin\n»
    expect «Password:»
    send «password\n»
    expect «>»
    send «enable\n»
    expect «#»
    send «write all\n»
    expect «#»
    send «copy startup-config tftp://OLT.cfg 192.168.1.1\n»
    expect «#»
    send «quit\n»
    expect «>»
    send «quit\n»

    system mv /tftp/OLT.cfg /tftp/Backup/OLT.[clock format [clock seconds] -format {%d.%m.%Y-%H:%M}].cfg

Больше на IT Blog

Оформите подписку, чтобы продолжить чтение и получить доступ к полному архиву.

Continue reading