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

Выкладываем здесь готовые конфигурации под определенные типовые задачи
KOHuK
Сообщения: 11
Зарегистрирован: 08 дек 2016, 10:39

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

podarok66 писал(а):Про то, как брать файл по имени, отдельная история :-) Тут уж у кого как. Вот например как это примерно работает у меня в скрипте:

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

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

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

Тоже как-то нагруженно. У меня получилось вот так:

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

:foreach i in=[/file find where type=backup] do=[/file remove $i];
вроде все что нужно делает и легко читается?

KARaS'b писал(а):Насколько я понимаю, в этом-то и есть загвоздка, это вы глазами видите как файл называется, это вы понимаете, что он там один, а вот микротик нет, он создает файл, а что ему потом брать? Как он поймет, что вам нужен именно этот файл? Поэтому и задается переменная с помощью которой вы сначала даете имя файлу, а уже потом на основе этой переменной берете этот файл по имени и отправляете его.
:-) Да не, это не так работает, если я "глазами" файл со всеми его признаками видеть могу, то микротику "объяснить" какой файл брать нужно вполне можно. Нужно только выбрать нужный признак.
Я вот методом втыка вот так сделал:
file="$[/file get [/file find where type=backup ] name]"
но мне кажется что можно как-то проще сделать.


KOHuK
-=-=-
KOHuK
Сообщения: 11
Зарегистрирован: 08 дек 2016, 10:39

JoeRee писал(а):А что-нибудь подобное с отправкой на другой samba-сервер возможно?
А разве микротик умеет по smb посылать? Вроде только сервер, клиента нету. Послать только по ftp и HTTP(s) можно, не?


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

KOHuK писал(а):Тоже как-то нагруженно. У меня получилось вот так:

Код: Выделить всё
:foreach i in=[/file find where type=backup] do=[/file remove $i];
вроде все что нужно делает и легко читается?

Да, согласен, у меня грузновато, но таким образом я ищу и сношу не только бэкапы, но и скрипты настроек (я делаю и то и другое с одним именем). Ну и так же у меня на железках может храниться ( да и хранится на многих) так называемый гарантированный стартовый бэкап - тот слепок, который восстановит роутер к состоянию на момент окончательной настройки перед запуском в работу. То есть я роутер настроил и уехал, бэкапы с него делаются и отправляются туда, куда там пожелали. На железке же хранятся последний слепок и гарант. Если будут претензии ко мне, всегда можно быстренько накатить мой бэкапчик и проверить, я это накосячил или местные админы мне приписывают свои подвиги. Есстесно, копии тех же бэкапов есть и у меня, но это же надо копаться в куче папок, разбираться и вспоминать, когда там я и что делал, а тут ищем на роутере файл GSB_$data.backup и вот она правда)))
Но это так сказать привязка к ситуации. А так согласен, у вас очень даже красивая и лаконичная конструкция получилась :co_ol:


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

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


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

Это вряд ли, не представляю, как это сделать силами Микротика. Разве что отсылать на сторонний сервер и пусть уже там этот файл парсит и пересылает. Но это такой костыль, что я бы не решился это кому либо предлагать как проект.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Не получится, ибо сам по себе экспорт ничего в переменную не возвращает
Если делать через файл то упираемся в ограничение в 4к


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

podarok66 писал(а):Это вряд ли, не представляю, как это сделать силами Микротика. Разве что отсылать на сторонний сервер и пусть уже там этот файл парсит и пересылает. Но это такой костыль, что я бы не решился это кому либо предлагать как проект.
Ну уж если идти таким путем, то наверное проще и надежнее ;-) ставить что-то в MetaROUTER и уже на это навешивать сложные обработки? Но для того чтобы засунуть файл в тело письма это уж чересчур!!
У меня в результате получилось так:

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

:foreach i in=[/file find where type=backup] do=[/file remove $i];
/system backup save
/export file=[/system identity get name]
/tool e-mail send  to=кто-то@там.то body="$[/file get [/file find where name=[/system identity get name] and type=script] content]" \
file="$[/file get [/file find where type=backup ] name]";

И я получаю письмо, в теле которого читабельный скрипт настройки, а в аттаче файл конфигурации, полностью готовый к восстановлению устройства. Ограничение экспорта в 4К есть, да. :) Но все мои конфигурации пока в 4К влазят, а если превысят то тоже наверное есть простые способы это обойти?


KOHuK
-=-=-
KOHuK
Сообщения: 11
Зарегистрирован: 08 дек 2016, 10:39

vqd писал(а):Не получится, ибо сам по себе экспорт ничего в переменную не возвращает
Если делать через файл то упираемся в ограничение в 4к
Да, больше 4К не отправляет. :-( Но можно-же делать не полный экспорт, а по частям. Или засовывать из фала кусками по 4К? Никто так не делал?
И с чем связано это ограничение? Ограничением памяти, выделенным под переменную, или еще чем?


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

KOHuK писал(а):Ну уж если идти таким путем, то наверное проще и надежнее ;-) ставить что-то в MetaROUTER и уже на это навешивать сложные обработки

Я хочу это видеть, простое и надежное!!!
Тут уже несколько лет периодически всплывает тема MetaROUTER , на него возлагают очередные надежды. А вот примеров реализации и стабильной работы ( что является очень важной составляющей любого проекта) как бы и нет практически. Я в своё время повозился с ним, он мне показался очень сырым и нестабильным, нужные пакеты еще надо или сыскать или самому скомпилировать... Короче возни много, а толку чуть. Бросил я это дело. И решил, что если мне нужна будет железка под серьезный проект, лучше я подниму Debian на серваке и не буду морочить голову ни себе ни людям.
KOHuK писал(а):И с чем связано это ограничение? Ограничением памяти, выделенным под переменную, или еще чем?

Просто ограничение без объяснений. Такие вопросы уместнее будут смотреться на форуме производителя в ветке разработчиков. Если бы что-то зависело от нас, мы бы это ограничение несомненно убрали бы :hi_hi_hi:
KOHuK писал(а):Но можно-же делать не полный экспорт, а по частям.

Ну вы попробуйте хотя бы вывести в лог результаты команды

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

/ip firewall nat export

Я с интересом буду следить за результатами.
KOHuK писал(а):Или засовывать из фала кусками по 4К? Никто так не делал?

Да зачем такие заморочки? Из-за нежелания прочесть вложенный файл? Так мне это труда не составляет)


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
Dragon_Knight
Сообщения: 1724
Зарегистрирован: 26 мар 2012, 18:21
Откуда: МО, Мытищи
Контактная информация:

Вы так сильно раздули тему, но объясните мне глупому, зачем нужна отправка конфига на почту?
Настроил -> Сделал бекап -> Забыл.

Я понимаю, если это будет ежедневный лог внештатных ситуаций, типа обрывов, потеря линков и прочее, но зачем на почте иметь 100500 одинаковых до знака конфигов за каждый день?


Небольшой свод правил логики и ссылок:
  1. Если устройство имеет Ethernet порт, то оно обязано быть подключено через него. Компьютер, Ноутбук, Телевизор, Принтер, Камера видеонаблюдения, и т.д.
  2. Если нет возможности протянуть кабель, то найдите её, или страдайте со своими проблемами Wi-Fi дальше.
  3. Wi-Fi это сеть для мобильных устройств. Если Вы подключили свой шикарный 50" телевизор не кабелем, то без фотоотчёта, когда он лежит у Вас в кармане дальнейшего разговора не получиться. Это относится и ко всем остальным устройствам.
  4. Если Ваше устройство вызывает вопросы в работе, первое что необходимо делать: NetInstall + дальнейшая настройка вручную.
  5. Не используйте WebFig или QuickSet - это пути к глюкам и ошибкам. Только SSH или WinBox, и да, - WinBox есть под Android.
  6. name.rsc - это текстовый файл, и Вы можете его открыть блокнотом.
  7. Если Вы хотите связаться со мной для ремонта или настройки, то: Telegram ( Не благотворительность ).
  8. Мой сайт по Mikrotik: Global Zone >> MikroTik.
Ответить