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