Скрипт за резервно копие на MikroTik с имейл
Това е скрипт за автоматично архивиране на конфигурацията на MikroTik рутер и изпращането ѝ по имейл.
1. Настройка на скрипта
Скриптът, който ще дам по-надолу, е готов за използване. Просто го запазете в MikroTik под подходящо име (напр. export-send-to-mail
).
Как да добавите скрипта в MikroTik:
- Влезте в MikroTik терминал или графичен интерфейс (WinBox).
- Навигирайте до
System
=>Scripts
. - Натиснете
+
за добавяне на нов скрипт. - Въведете име (напр.
export-send-to-mail
) и копирайте скрипта в полетоSource
. - Натиснете OK.
2. Настройка на Scheduler
След като скриптът е готов, трябва да настроите Scheduler, който да го изпълнява веднъж на всеки 7 дни.
Как да добавите Scheduler:
- Навигирайте до
System
>Scheduler
. - Натиснете
+
за добавяне на ново задание. - Попълнете следните полета:
- 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
.
- Name: Въведете име (напр.
- Натиснете OK.
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 рутера и изпращането ѝ по имейл. Това е полезно в следните ситуации:
- Резервни копия (backups):
- Гарантира, че винаги имате актуално копие на настройките на рутера, което може да се използва за възстановяване при аварии, сривове или грешки в конфигурацията.
- Сигурност:
- Изпращането на конфигурацията по имейл осигурява допълнително място за съхранение извън рутера, за да избегнете загуба при хардуерен проблем.
- История на конфигурациите:
- Създадените файлове с датирани имена ви позволяват да проследите измененията в конфигурацията с времето.
- Автоматизация:
- Елиминира нуждата от ръчно създаване на резервни копия, като автоматично изпълнява задачата в предварително зададен интервал (например веднъж седмично).
Това е изключително полезно за системни администратори или техници, които управляват множество устройства и искат лесно възстановяване в случай на проблем.
6. Формат на интервалите в Scheduler
HH:MM:SS
: Кратък формат за часове, минути и секунди (например00:05:00
).DdHH:MM:SS
: Разширен формат за дни, часове, минути и секунди (например7d00:00:00
).
Обяснение:
- Кратък формат:
HH:MM:SS
- Използва се за интервали под 24 часа.
- Пример:
00:05:00
означава интервал от 5 минути.
- Разширен формат:
DdHH:MM:SS
- Използва се за интервали над 24 часа.
- Пример:
7d00:00:00
означава 7 дни и 0 часа, 0 минути, 0 секунди.
Защо и двата формата работят?
MikroTik Scheduler автоматично интерпретира формата на интервала:
- Ако интервалът е под 24 часа, можете да използвате само
HH:MM:SS
. - Ако интервалът е над 24 часа, трябва да добавите префикса за дни (
d
).
Примерни интервали:
- 5 минути:
00:05:00
(5 минути).
- 7 дни:
7d00:00:00
(7 дни).
- 1 ден и 2 часа:
1d02:00:00
(1 ден, 2 часа).
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut