Перейти до

MikroTik scripting + Gmail + Google Drive = Автоматичне резервування


Рекомендованные сообщения

На днях вирішив все ж добити автоматичне створення бекапів з Мікротіків, тому заодне і написати покрокову статтю, як автоматизувати створення резервних копій конфігів мікротіка не тільки на самому мікротіку, а й надсилати по електронці на Gmail з подальшим збереженням на Google Drive.

 

Таким чином, для початку створив скрипт для експорту, відправки, а потім видалення файлів конфігурації з локального маршрутизатора (збережені як backup-and-email):

#### Modify these values to match your requirements ####
# Ці змінні потрібно модифікувати під себе

 #Your email address to receive the backups
:local toemail "you@gmail.com"

 #The From address (you can use your own address if you want)
:local fromemail "mikrotik@gmail.com"

 #A mail server your machines can send through
:local emailserver "smtp.gmail.com"

#E-mail password
:local passEmail "password-for-email"

#E-mail login
:local userEmail "you@gmail.com"

############## Don’t edit below this line ##############
# Ці змінні сталі, бажано не змінювати код)))
 
:local sysname [/system identity get name]
:local textfilename
:local backupfilename
:local time [/system clock get time]
:local date [/system clock get date]
:local uptime [/system resource get uptime]
:local logMessages
:local newdate "";
:for i from=0 to=([:len $date]-1) do={ :local tmp [:pick $date $i];
:if ($tmp !="/") do={ :set newdate "$newdate$tmp" }
:if ($tmp ="/") do={}
}
#check for spaces in system identity to replace with underscores
:if ([:find $sysname " "] !=0) do={
:local name $sysname;
:local newname "";
:for i from=0 to=([:len $name]-1) do={ :local tmp [:pick $name $i];
:if ($tmp !=" ") do={ :set newname "$newname$tmp" }
:if ($tmp =" ") do={ :set newname "$newname_" }
}
:set sysname $newname;
}
:set logMessages ""
:foreach i in=[/log find ] do={ 
:set logMessages ($logMessages. [/log get $i time ]. " "); 
:set logMessages ($logMessages. [/log get $i message ]); 
:set logMessages ($logMessages. "\n")
}
:set textfilename ($"newdate" . "-" . $"sysname" . ".rsc")
:set backupfilename ($"newdate" . "-" . $"sysname" . ".backup")
:execute [/export file=$"textfilename"]
:execute [/system backup save name=$"backupfilename"]
#Allow time for export to complete
:delay 2s
 
#email copies
:log info "Emailing backups"
/tool e-mail send server=[:resolve $emailserver] port=587 user=$"userEmail" password=$"passEmail" start-tls=yes to=$"toemail" from=$"fromemail" subject="[Config Backup *.rsc] $sysname $time $date" file=$"textfilename" body="[Config Backup LOG] $logMessages"
#Send as different subjects to force GMail to treat as new message thread.
:local time [/system clock get time]
/tool e-mail send server=[:resolve $emailserver] port=587 user=$"userEmail" password=$"passEmail" start-tls=yes to=$"toemail" from=$"fromemail" subject="[Config Backup *.backup] $sysname $time $date" file=$"backupfilename" body="[Config Backup Uptime:] $uptime"
 
#Allow time to send
:delay 10s
 
#delete copies
/file remove $textfilename
/file remove $backupfilename

На вашу пошту прийдуть два листи з двома прикріпленими файлами, перший *.rsc файл з останніми логами в тілі листа, другий *.backup файл.

 

Щоб автоматизувати створюємо в розкладі з періодичністю в день /System/Scheduler:

/system scheduler
add interval=1d name=daily-backup on-event="/system script run backup-and-email" policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=jan/01/2016 start-time=01:00:00

Все, конфіги будуть приходити кожного дня в годину ночі на електронну gmail адресу.

 

Наступним кроком, якщо потрібно, перекидувати вкладення з файлів до папки в Google Drive.

1. Створюємо окрему мітку для backup-файлів, наприклад "mikrotik config";

2. В налаштуваннях створюємо новий фільтр, де вказуємо від кого прийшов лист, по яким словам фільтрувати [Config Backup], кладемо галки на позначити прочитаним і галку на Позначити міткою "mikrotik config", яку попередньо створили;

3. Завантажуємо скрипт для автозавантаження файлів в google drive за цим посиланням;

4. Створюємо на Google Drive окрему папку, наприклад таку ж "mikrotik config", де будуть зберігатися вкладення з листів;

5. Інсталлюємо завантажений add-on до Google Docs, де його можна буде запустити в любому документі через пункт меню "Доповнення" - Save Emails and Attachments;

6. Створюємо нове правило, де вказуємо звідки нам брати з Gmail листи з поміткою "mikrotik config" і в наступному кроці відправляємо в папку призначення "mikrotik config", поклавши галку "Save file attachments" і "Overwrite Files", якщо архівація відбувається частіше чим раз в день.

7. Профіт)

Відредаговано Schultz
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від Игорь_Кривой Рог
      Продам за ненадобностью остатки после модернизации, лежать без дела.
       
      Mikrotik RB850Gx2 - 4шт.
       
      Mikrotik RB260GS - 1шт.
       
      Все в рабочем состоянии, сброшены на заводские настройки, битые порты отсутствуют.
       








    • Від Dimon123
      новий, без коробки, відправлю 1600 грн


    • Від Dimon123
      Новий, в коробці, відправлю. 1200 грн
       


    • Від cyi
      Вітаю. Така проблема, в Mikrotik 2011UAS-2HnD перестав працювати порт 7 та 10. Може хто підкаже в чому проблема або ж має Repair Instruction.
      Дякую.
    • Від Turist
      продам mikrotik ccr1036-12g-4s, ccr1009-8g-1s-1s+
      все робоче, все працює
      ccr1036-12g-4s - 17500 грн. (в наяності 2 шт)
      ccr1009-8g-1s-1s+     -  12000 грн - 1 шт
×
×
  • Створити нове...