Скрипт для пересылки конфигурации...

Обсуждение ПО и его настройки
Ответить
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Нашел в сети скрипт, подправил для себя. Скрипт должен отсылать на почту файл с конфигурацией. Но почему-то не работает никак.

Код: Выделить всё

{
:log info "Starting Backup Script...";
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:log info "Flushing DNS cache...";
/ip dns cache flush;
:delay 2;
:log info "Deleting last Backups...";
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] \
"$sysname-backup-"]]!="nil") do={/file remove $i}};
:delay 2;
:local smtpserv [:resolve "smtp.gmail.com"];
:local Eaccount "MyMail@gmail.com";
:local pass "MyPass";
:local exportfile ("$sysname-backup-" . \
[:pick [/system clock get date] 7 11] . [:pick [/system \
clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".rsc");
:log info "Creating new Setup Script file...";
/export file=$exportfile;
:delay 2;
:log info "Sending Setup Script file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \
port=587 user=$Eaccount password=$pass tls=yes file=$exportfile \
subject=("$sysname Setup Script Backup (" . [/system clock get date] .")") \
body=("$sysname Setup Script file see in attachment. RouterOS version: \
$sysver
Time and Date stamp: " . [/system clock get time] . " " . \
[/system clock get date]);
:delay 5;
:log info "All System Backups emailed successfully. Backuping completed.";
}

Может подскажете, что у меня не так в скрипте?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

копируйте скрипт в блокнот и оттуда вставляйте в терминал построчно

Обнаружите кучу переменных, на которые ругается терминал. Так как они не объявлены :)


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Я все-таки не очень Вас понял. Как же я буду построчно копировать скрипт в консоль, вроде бы синтаксис близок, но не идентичен. Простите, если глупость сморозил, не очень я в это пока вник...


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

скрипты в микротике это набор комманд для консоли.

Если копировать построчно скрипт из блокнота в консоль - это все равно, что выполнять его полностью.


Просто так вы сможете понять где ошибки


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Очень странная штука. Если команду

Код: Выделить всё

/export file...

заменяю на

Код: Выделить всё

/system backup save name...
ну и все остальное поправляю по смыслу, то скрипт работает. То есть, в шедулере не хочет исполнятся именно экспорт настроек в скрипт. Это можно как-то объяснить и побороть?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Vick
Сообщения: 31
Зарегистрирован: 02 фев 2012, 13:41

Код: Выделить всё

{
:log info "Starting Backup Script...";
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:log info "Flushing DNS cache...";
/ip dns cache flush;
:delay 2;
:log info "Deleting last Backups...";
:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] \
"$sysname-backup-"]]!="nil") do={/file remove $i}};
:delay 2;
:local smtpserv [:resolve "smtp.gmail.com"];
:local Eaccount "имя@gmail.com";
:local pass "пароль";
:local backupfile ("$sysname-backup-" . \
[:pick [/system clock get date] 7 11] . [:pick [/system \
clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".backup");
:log info "Creating new Full Backup file...";
/system backup save name=$backupfile;
:delay 2;
:log info "Sending Full Backup file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \
port=587 user=$Eaccount password=$pass tls=yes file=$backupfile \
subject=("$sysname Full Backup (" . [/system clock get date] . ")") \
body=("$sysname full Backup file see in attachment.\nRouterOS version: \
$sysver\nTime and Date stamp: " . [/system clock get time] . " " . \
[/system clock get date]);
:delay 5;
:local exportfile ("$sysname-backup-" . \
[:pick [/system clock get date] 7 11] . [:pick [/system \
clock get date] 0 3] . [:pick [/system clock get date] 4 6] . ".rsc");
:log info "Creating new Setup Script file...";
/export file=$exportfile;
:delay 2;
:log info "Sending Setup Script file via E-mail...";
/tool e-mail send from="<$Eaccount>" to=$Eaccount server=$smtpserv \
port=587 user=$Eaccount password=$pass tls=yes file=$exportfile \
subject=("$sysname Setup Script Backup (" . [/system clock get date] . \
")") body=("$sysname Setup Script file see in attachment.\nRouterOS \
version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \
" . [/system clock get date]);
:delay 5;
:log info "All System Backups emailed successfully.\nBackuping completed.";
}

чего то сравнивать с вашим скриптом желания нету, но вот так у меня всё робит, версия ПО 5.14
пысы имя и пароль поменять)


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Да видел я этот скрипт, и даже пробовал запускать. Работает только первая часть, где делаем и отсылаем файл с расширением .backup. А вот скрипт с расширением .rsc не хочет создавать и этот вариант. Ведь должно один за другим два варианта отсылать Я пробовал запускать в шедуллере просто одну строку с командой /export file=config.rsc , не срабатывает. Что-то я пока не допонял...

Видимо, глюк именно моей платы. Только что связался с сыном, проверили, у него 751, все срабатывает на раз. Странно, но воспримем как неизбежность... Вопрос снимается.

Добавлено через пару дней:
Все, разобрался, или скорее, добился срабатывания по графику. Вся фишка в том, что я скрипт загонял в Webfig, а сегодня попробовал его в Winbox создать и запустить. Странно конечно, но все заработало. Видимо какая-то фича, труднообъяснимая с позиции банальной логики. Впрочем, меня это мало волнует, просто буду иметь ввиду, что эти два приложения не всегда однозначны с точки зрения полученного результата.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить