Скрипт за резервно копие на MikroTik с имейл

⏱️ Време за четене: 3 минути
MikroTik backup script with email

Това е скрипт за автоматично архивиране на конфигурацията на MikroTik рутер и изпращането ѝ по имейл.

1. Настройка на скрипта

Скриптът, който ще дам по-надолу, е готов за използване. Просто го запазете в MikroTik под подходящо име (напр. export-send-to-mail).

Как да добавите скрипта в MikroTik:

  1. Влезте в MikroTik терминал или графичен интерфейс (WinBox).
  2. Навигирайте до System => Scripts.
  3. Натиснете + за добавяне на нов скрипт.
  4. Въведете име (напр. export-send-to-mail) и копирайте скрипта в полето Source.
  5. Натиснете OK.

2. Настройка на Scheduler

След като скриптът е готов, трябва да настроите Scheduler, който да го изпълнява веднъж на всеки 7 дни.

Как да добавите Scheduler:

  1. Навигирайте до System > Scheduler.
  2. Натиснете + за добавяне на ново задание.
  3. Попълнете следните полета:
    • Name: Въведете име (напр. weekly_backup).
    • Start Time: Въведете часа, в който да се изпълнява (напр. 00:00:00).
    • Interval: Въведете интервал за изпълнение – 7d 00:00:00 (7 дни).
    • On Event: В On Event трябва да се посочи командата за стартиране на скрипта и името му /system script run export-send-to-mail
      .
  4. Натиснете OK.
Настройка на Scheduler


3. Резултат

След настройката на Scheduler:

  • Скриптът ще се изпълнява автоматично на всеки 7 дни.
  • Резервното копие ще бъде създадено и изпратено на вашия имейл.
  • Файлът ще бъде изтрит след изпращане, за да не заема излишно място.

4. Ето и скрипта

:local date [/system clock get date]
:local time [/system clock get time]

:local formattedDate ([:pick $date 7 11] . "-" . [:pick $date 0 3] . "-" . [:pick $date 4 6])
:local formattedTime ([:pick $time 0 2] . [:pick $time 3 5])
:local fileName ("config_" . $formattedDate . "-" . $formattedTime . ".rsc")

:log info "Creating backup file: $fileName"
/export compact file="$fileName"

:delay 5s

:local fileExists [:len [/file find name="$fileName"]]
:if ($fileExists > 0) do={
    :log info "File found: $fileName"
    
    /tool e-mail send from="urocibg@urocibg.eu" \
        to="urocibg@urocibg.eu" \
        subject=("MikroTik Config Backup " . $formattedDate . " " . $formattedTime) \
        body="Backup file attached." \
        file="$fileName"
    
    :delay 2s
    :log info "Email sent successfully."
    
    /file remove "$fileName"
    :log info "File deleted: $fileName"
} else={
    :log error "Failed to find or create file: $fileName"
}

Не забравяйте да замените urocibg@urocibg.eu" с вашият имейл.

5. Ползи от скрипта

Скриптът се използва за автоматично архивиране на конфигурацията на MikroTik рутера и изпращането ѝ по имейл. Това е полезно в следните ситуации:

  1. Резервни копия (backups):
    • Гарантира, че винаги имате актуално копие на настройките на рутера, което може да се използва за възстановяване при аварии, сривове или грешки в конфигурацията.
  2. Сигурност:
    • Изпращането на конфигурацията по имейл осигурява допълнително място за съхранение извън рутера, за да избегнете загуба при хардуерен проблем.
  3. История на конфигурациите:
    • Създадените файлове с датирани имена ви позволяват да проследите измененията в конфигурацията с времето.
  4. Автоматизация:
    • Елиминира нуждата от ръчно създаване на резервни копия, като автоматично изпълнява задачата в предварително зададен интервал (например веднъж седмично).

Това е изключително полезно за системни администратори или техници, които управляват множество устройства и искат лесно възстановяване в случай на проблем.

6. Формат на интервалите в Scheduler

  • HH:MM:SS: Кратък формат за часове, минути и секунди (например 00:05:00).
  • DdHH:MM:SS: Разширен формат за дни, часове, минути и секунди (например 7d00:00:00).

Обяснение:

  1. Кратък формат: HH:MM:SS
    • Използва се за интервали под 24 часа.
    • Пример: 00:05:00 означава интервал от 5 минути.
  2. Разширен формат: DdHH:MM:SS
    • Използва се за интервали над 24 часа.
    • Пример: 7d00:00:00 означава 7 дни и 0 часа, 0 минути, 0 секунди.

Защо и двата формата работят?

MikroTik Scheduler автоматично интерпретира формата на интервала:

  • Ако интервалът е под 24 часа, можете да използвате само HH:MM:SS.
  • Ако интервалът е над 24 часа, трябва да добавите префикса за дни (d).

Примерни интервали:

  1. 5 минути:
    • 00:05:00 (5 минути).
  2. 7 дни:
    • 7d00:00:00 (7 дни).
  3. 1 ден и 2 часа:
    • 1d02:00:00 (1 ден, 2 часа).
Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: