Отправка бекапов на почту

Выкладываем здесь готовые конфигурации под определенные типовые задачи
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Тут ко то просил срипт который бекапы на почту шлет. Держите.
Разумеется сначала нужно настроить /tool email

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

:local to to@mail.ru
:local data [/system clock get date]
:local mouth {"jan"="01";"feb"="02";"mar"="03";"apr"="04";"may"="05";"jun"="06";"jul"="07";"aug"="08";"sep"="09";"oct"=10;"nov"="11";"dec"="12"}
:local FileName ("mikrotik_" . [:pick $data 7 11] . ($mouth -> [:pick $data 0 3]) . [:pick $data 4 6])
/system backup save dont-encrypt=yes name=$FileName
/export file=$FileName
:delay 5
/tool e-mail send to=$to subject=BC body=$FileName file=($FileName . ".backup")
/tool e-mail send to=$to subject=BC body=$FileName file=($FileName . ".rsc")
:delay 5
/file remove [find name~$FileName] 


Есть интересная задача и бюджет? http://mikrotik.site
KOHuK
Сообщения: 11
Зарегистрирован: 08 дек 2016, 10:39

А рот-то (mouth) здесь при чем?

Типа, в рот мне дату? ;-)


KOHuK
-=-=-
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

KOHuK писал(а):А рот-то (mouth) здесь при чем?

Типа, в рот мне дату? ;-)



Не понял вопроса


Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Опечатка при написании имени переменной. Должно быть month - месяц, а получилось mouth - рот. Ну сумничал человек, пусть его. Зато за скриптописанием замечен не был, и просто дельных замечаний не наблюдается.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
Kato
Сообщения: 271
Зарегистрирован: 17 май 2016, 04:23
Откуда: Primorye

интересно, что об этой ошибке никто за это время не отписался(


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

Да не ошибка это, не ошибка. При ошибке скрипт не работает или работает криво. А тут просто опечатка. Ну да мы тут такие лютые англичане, что ой-вэй :-) Я вообще часть переменных в транскрипции пишу (слово русское - буквы аглицкие)
И ничего, всё работает. Кому это глаз режет, пусть переписывает заново в соответствии со своими предпочтениями.


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

podarok66 писал(а):Опечатка при написании имени переменной. Должно быть month - месяц, а получилось mouth - рот. Ну сумничал человек, пусть его. Зато за скриптописанием замечен не был, и просто дельных замечаний не наблюдается.

За скриптописанием и дельными замечаниями я и не мог был замечен, т.к. в mikrotik полный нуб, пришел сюда поиском по "mikrotik почта бекап", заметил смешную ошибку, написал о ней, получил предупреждение за флуд. Круто!

Ну может хоть на вопрос ответите? Такой:

Во всех скриптах бекапа настроек на e-mail (и в этом тоже :) ) часто изгаляются, чтобы дать файлу конфигурации имя, в котором содержится дата и время бекапа и зачастую identity. А я не могу понять зачем? Ведь команда /system backup save сохраняет файл, в имени которого уже есть имя-дата-время?
Соответственно после сохранения бекапа можно просто дать команду
/tool e-mail send to=кто-то@там.то subject="........................" file="$[/file get бекап name]"
но вот легко взять имя файла не получается, все какая-то монструозность выходит. Так как просто подставить имя файла, если учесть что он там один, после отсылки файл уничтожается?
Последний раз редактировалось KOHuK 13 дек 2016, 18:08, всего редактировалось 1 раз.


KOHuK
-=-=-
KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

KOHuK писал(а):Во всех скриптах бекапа настроек на e-mail (и в этом тоже :) ) часто изгаляются, чтобы дать файлу конфигурации имя, в котором содержится дата и время бекапа и зачастую identity. А я не могу понять зачем? Ведь команда /system backup save сохраняет файл, в имени которого уже есть имя-дата-время?
Соответственно после сохранения бекапа можно просто дать команду
/tool e-mail send to=кто-то@там.то subject="........................" file="$[/file get бекап name]"
но вот легко взять имя файла не получается, все какая-то монструозность выходит. Так как просто подставить имя файла, если учесть что он там один, после отсылки файл уничтожается?

Насколько я понимаю, в этом-то и есть загвоздка, это вы глазами видите как файл называется, это вы понимаете, что он там один, а вот микротик нет, он создает файл, а что ему потом брать? Как он поймет, что вам нужен именно этот файл? Поэтому и задается переменная с помощью которой вы сначала даете имя файлу, а уже потом на основе этой переменной берете этот файл по имени и отправляете его.


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

Если честно, меня сама форма написания имени не устраивает. Это же ужас какой-то MikroTik-20161213-2028.backup Некрасиво, сложно воспринимается глазом, при работе с большим количеством бэкапов рябит. Мне мой теперешний вариант MikroTik-backup-2016dec10.backup более удобен, ну нет времени создания, так оно вроде как и неактуально. А вообще, тут как бы всё на вкус и цвет.
Про то, как брать файл по имени, отдельная история :-) Тут уж у кого как. Вот например как это примерно работает у меня в скрипте:

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

:foreach i in=[/file find] do={:if ([:typeof [:find [/file get $i name] "$sysname-backup-"]]!="nil") do={/file remove $i}};

Приходится использовать подобную конструкцию, по которой ищутся и уничтожаются предыдущие файлы бэкапов (их может быть несколько)
Ну а предупреждение - это просто предупреждение. Никаких санкций оно не несет. Кроме того, вы же обратили внимание на него и какие=то выводы сделали, значит я своей цели добился :-)


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
JoeRee
Сообщения: 27
Зарегистрирован: 22 мар 2014, 05:28
Откуда: СПБ

А что-нибудь подобное с отправкой на другой samba-сервер возможно?


Memento mori...
Ответить