Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    FTP-резервное копирование возможно?

    FTP-резервное копирование возможно?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    FTP-резервное копирование возможно?, RouterOS
     
    ParisDragon
    Guest
    #1
    0
    25.05.2006 20:13:00
    У меня много скриптов, которые позволяют отправлять текущую конфигурацию на электронную почту, нельзя ли изменить эти скрипты, чтобы вместо этого они загружали конфигурацию на FTP-сервер для резервного копирования?
     
     
     
    Wyoming
    Guest
    #2
    0
    31.05.2006 17:02:00
    Я только что написал скрипт на Perl, который каждую ночь подключается к роутеру, создаёт резервную копию и затем передаёт её по FTP на сервер, где работает этот Perl-скрипт, в указанную папку. Так что да, написать скрипт, который будет передавать резервные копии по FTP с роутера, вполне возможно. Не уверен, можно ли написать такой скрипт непосредственно на роутере, который будет отправлять резервную копию на сервер.
     
     
     
    nikhil
    Guest
    #3
    0
    01.06.2006 06:25:00
    Можешь поделиться скриптом с нами?
     
     
     
    ParisDragon
    Guest
    #4
    0
    01.06.2006 14:15:00
    Да, я уже настроил автоматическое резервное копирование каждую ночь, а также настроил удаленного клиента, который заходит и скачивает эти копии. Чем больше радиостанций ты развернешь, тем сложнее становится планировать, чтобы клиент подключался к каждой из них. Надеюсь, добавят возможность отправлять FTP-команды прямо с Mikrotik, как это можно сделать в Linux, чтобы каждая новая станция могла делать резервные копии с датой в имени файла. Клиенту нужно статичное имя.
     
     
     
    nikhil
    Guest
    #5
    0
    01.06.2006 14:27:00
    У меня есть вот этот код, который присылает мне уведомление по электронной почте, но я бы хотел вместо этого сделать резервную копию по FTP! /system script add name=ebackup source={/system backup save name=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6]); /tool e-mail send to=“ x@x.com ” subject=([/system identity get name] . " Backup " . [/system clock get date]) file=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . “.backup”); :delay 10; /file rem [/file find name=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . “.backup”)]; :log info ("System Backup emailed at " . [/sys cl get time] . " " . [/sys cl get date])} /system script add name=eexport source={/export file=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6]); /tool e-mail send to=“ x@x.com ” subject=([/system identity get name] . " Export " . [/system clock get date]) file=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . “.rsc” ); :delay 10; /file rem [/file find name=([/system identity get name] . “-” . [:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . “.rsc”)]; :log info ("System Export emailed at " . [/sys cl get time] . " " . [/sys cl get date])}
     
     
     
    Wyoming
    Guest
    #6
    0
    01.06.2006 21:56:00
    Для этого скрипта у меня есть 3 файла. Один — сам скрипт, который запускается. Это файл .PL. Следующий файл — конфигурационный файл. Он хранит конфигурации для скрипта, такие как местоположение резервных копий, пароли и т.д. Последний файл — это список микротиков и имя резервной копии в формате IP:Имя. Пример: 192.168.1.1:TestBackup В файле .PL есть 3 дополнительных Perl-модуля, которые нужно установить в Perl, чтобы скрипт работал. Я использовал Perl Packet Manager (PPM) для их установки. Они перечислены в начале файла. В этом файле нужно внести две модификации. Внизу есть строка, в которой сказано ввести имя почтового сервера и адрес отправителя. Вам нужно ввести имя вашего почтового сервера и адрес электронной почты для отправки сообщения.
    Начало файла .PL
    #!/usr/bin/perl

    #########################################################################################
    #
    # Микротик Backup Script 3-15-05
    # Написано: Phillip Hutchison
    #
    #########################################################################################

    #Этот скрипт требует установки следующих Perl-модулей на машине, на которой он запускается.

    use Net::Telnet;
    use Net::FTP;
    use Mail::Sendmail;

    # переменные пользователя
    # Находятся в файле Backups.cfg.

    # Код начинается здесь

    sub email;

    $count = 1;

    ($Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time);
    $RealMonth = $Month + 1;
    if($RealMonth < 10)
    {
      $RealMonth = "0" . $RealMonth; # добавление ведущего нуля к однозначным месяцам
    }
    if($Day < 10)
    {
      $Day = "0" . $Day; # добавление ведущего нуля к однозначным дням
    }
    $Fixed_Year = $Year + 1900;

    open(CFG, "Backups.cfg") or (print "Невозможно открыть конфигурационный файл\n");
    while($line = <CFG>)
    {
    if($line =~ /#.*/)
    {
    }
    else
    {
    if($line =~ /UN::/i)
    {
    ($junk,$username) = split("::",$line);
    chomp $username;
    #print "$username\n";
    }
    if($line =~ /PW::/i)
    {
    ($junk,$password) = split("::",$line);
    chomp $password;
    #print "$password\n";
    }
    if($line =~ /Email::/i)
    {
    ($junk,$Email) = split("::",$line);
    chomp $Email;
    #print "$Email\n";
    }
    if($line =~ /ListFile::/i)
    {
    ($junk,$LF) = split("::",$line);
    chomp $LF;
    #print "$LF\n";
    }
    if($line =~ /Dir::/i)
    {
    ($junk,$DIR) = split("::",$line);
    chomp $DIR;
    #print "$DIR\n";
    }
    if($line =~ /Log::/i)
    {
    ($junk,$Log) = split("::",$line);
    chomp $Log;
    #print "$Log\n";
    }
    }
    }

    close(CFG);

    open(FH, $LF) or (print logfile "Невозможно открыть файл списка\n");
    open(logfile, ">>$Log");

    print logfile "$RealMonth/$Day/$Fixed_Year\n\n";

    $i = 0;
    while($line = <FH>)
    {
    if(($line =~ /^#.*/)||($line =~ /^\s$/))
    {
    }
    else
    {
    $i = $i + 1;
    ($IP, $Name) = split(":", $line);

    chomp($Name);
    print logfile $i . " - ";

    $t = new Net::Telnet ( Timeout=>30, Errmode=>'return');
    print "$count\n";
    $count++;
    if($t->open($IP))
    {
    print "open $IP - Telnet\n";
    $t->login($username, $password);
    #print "@output\n";
    #print "logged in\n";
    $cmd = "system backup save name ".$Name;
    #print "$cmd\n";
    $t->print($cmd);
    sleep(1);
    @output = $t->waitfor('/.*>/i');
    print logfile "     @output\n";
    $t->print('quit');
    $fullfile = $Name.".backup";
    $Lfullfile = $DIR.$fullfile;
    $F = Net::FTP->new($IP);
    if($F)
    {
    print "open $IP - FTP\n";
    $F->login($username, $password);
    $F->binary;
    $F->get($fullfile,$Lfullfile) or print logfile "Невозможно получить $fullfile\n";
    $F->quit;
    print logfile $i . " - ";
    print logfile $IP . " - ";
    print logfile "OK\n";
    sleep(3);
    print "OK\n";
    }
    else
    {
    print logfile " FTP Error - $IP\n";
    print "Error\n";
    email("FTP", $IP, $Email);
    }
    }
    else
    {
    print logfile "\n" . $i . " - " . $IP . " - Failed\n";
    print "Error\n";
    email("Telnet", $IP, $Email);
    }
    }
    }
    close(FH);
    close(logfile);





    sub email {

    use strict 'refs';
    my($refa, $refb, $Mailadd) = @_;
    $Body = "$refa failed for $refb";

    print "$Mailadd\n";

    %mail = (
    To => $Mailadd, From => 'enter from address here', Subject => 'Mikrotik Backup Failed', Message => $Body
    );
    $mail{Smtp} = 'enter your mail server here';

    if(sendmail %mail) {print logfile "mail sent\n";}
    else {print logfile "Error sending mail. $Mail::Sendmail::error \n";}

    print "\n\$Mail::Sendmail::Log says: \n", $Mail::Sendmail::log;

    } END .PL Файл Следующий файл — это файл .cfg. Он называется Backups.cfg и находится в той же директории, что и .pl файл.
    Начало файла .cfg
    #Этот файл содержит информацию о конфигурации для скрипта резервного копирования
    #Микротик. Строки, которые пусты или начинаются с #, будут игнорироваться скриптом.

    #Имя пользователя и пароль для входа в Микротик.
    UN::admin
    PW::enter your password here

    #Адрес электронной почты для отправки уведомлений об ошибках.
    Email::enter your email here

    #Имя файла списка, содержащего IP-адреса и имена резервных копий Микротиков.
    #Формат файла списка: xxx.xxx.xxx.xxx:Имя.
    ListFile::list.txt

    #Директория, в которой будут храниться файлы резервных копий
    Dir::D:\mikrotik\backups\

    #Имя файла журнала
    Log::backuplog.txt Конец файла .cfg
    Последний файл — это текстовый файл, который называется List.txt. Вы можете заметить, что его можно изменить в файле .cfg, если хотите другое имя. Это список IP-адресов и имен резервных копий, которые будут созданы и FTP обратно в указанное место в файле .cfg. Следующие примеры, вам нужно будет заменить их своими значениями. Вы можете перечислить столько комбинаций IP и имени, сколько хотите. Просто введите каждый микротик на новой строке.
    Начало файла .txt
    #список IP-адресов роутеров и имена
    192.168.0.1:testbackup1
    172.16.1.1:testbackup2 Если у вас есть какие-либо вопросы, просто спросите, и я постараюсь помочь вам с ними.
     
     
     
    lrhea
    Guest
    #7
    0
    18.07.2006 16:50:00
    Большое спасибо! Основная причина, по которой я хочу, чтобы это работало непосредственно на Mikrotik, заключается в том, что мне не придется постоянно редактировать/обновлять скрипт, работающий на отдельной машине. К тому же, у меня уже настроены и работают FTP-серверы, и я не хочу выделять клиент для их планирования и т.д. Надеюсь, они подумают о добавлении этой функции.
     
     
     
    nikhil
    Guest
    #8
    0
    18.07.2006 18:39:00
    На самом деле, скрипт не работает с 2.9.27, который я использую. Использую Windows Perl (Activestate) с компонентами.
     
     
     
    mperdue
    Guest
    #9
    0
    18.07.2006 19:19:00
    В чём вообще смысл делать бэкап Mikrotik-устройства, если этот бэкап нельзя перенести на другое устройство? Сохраняешь бэкап, а потом роутер умирает. Пытаешься восстановить свои настройки на новом устройстве – не работает.
     
     
     
    csickles
    Guest
    #10
    0
    18.07.2006 19:45:00
    Да, обычно после восстановления нужно немного подкорректировать, но это обычно экономит кучу времени. Крейг
     
     
     
    Syonyk
    Guest
    #11
    0
    19.07.2006 20:53:00
    Много чего работает нормально при восстановлении из резервной копии. IP-адреса, маршруты, правила брандмауэра, очереди и т.д. Но основная проблема – интерфейсы, особенно беспроводные. Вам нужно будет перенастроить интерфейсы и назначить IP-адреса каждому из них, но это обычно намного проще, чем переделывать все настройки с нуля. Также можно экспортировать настройки в виде файла – команда ‘export’ экспортирует всю конфигурацию в файл, который затем можно применить к другому роутеру. -=Russ=-
     
     
     
    nikhil
    Guest
    #12
    0
    20.07.2006 05:46:00
    Потому что MT привязывает всё к имени интерфейса, которое, в свою очередь, похоже, связано с MAC-адресом, а это уникально. Если экспортировать и обновить MAC-адреса, то всё будет нормально.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры