Набросал скрипт для автоматического резервного копирования конфигурации 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
Немного поправил скрипт с 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