اسکریپتنویسی و زمانبند در RouterOS
RouterOS یک زبان اسکریپت داخلی و یک زمانبند (Scheduler) دارد که به شما امکان میدهد وظایف تکراری را خودکار کنید.
ایجاد اسکریپت
TEXT
/system script add name=my-first-script source={
/log info message="Hello from script!"
}اجرای دستی اسکریپت
TEXT
/system script run my-first-scriptمبانی سینتکس اسکریپت
متغیرها
TEXT
:local myVar "Hello"
:log info $myVarمنطق شرطی
TEXT
:if ([:ping 8.8.8.8 count=1] = 0) do={
:log warning "DNS unreachable"
} else={
:log info "DNS reachable"
}حلقه
TEXT
:for i from=1 to=5 do={
:log info ("Step: " . $i)
}نمونههای عملی
بکاپ روزانه
TEXT
/system script add name=daily-backup source={
/system backup save name=("backup-" . [:pick [/system clock get date] 0 10])
:log info "Backup done"
}پاکسازی کش DNS
TEXT
/system script add name=clear-dns source={
/ip dns cache flush
:log info "DNS cache cleared"
}ریستارت اینترفیس
TEXT
/system script add name=restart-ether1 source={
/interface disable ether1
:delay 3s
/interface enable ether1
}زمانبند (Scheduler)
TEXT
/system scheduler add name=daily-reboot interval=1d start-time=03:00:00 on-event="/system reboot" comment="Reboot at 3am"زمانبندی اسکریپت ذخیرهشده
TEXT
/system scheduler add name=run-backup interval=1d start-time=02:00:00 on-event="/system script run daily-backup"هر ۵ دقیقه یکبار
TEXT
/system scheduler add name=check-dns interval=00:05:00 on-event="/system script run clear-dns"اجرای یکباره
TEXT
/system scheduler add name=one-time start-date=2026/07/01 start-time=10:00:00 interval=0 on-event="/system script run my-first-script"مشاهده زمانبند
TEXT
/system scheduler printنکات امنیتی
- اسکریپتها با دسترسی کامل مدیریتی اجرا میشوند
- از
/logداخل اسکریپتها استفاده کنید تا سابقه داشته باشید - قبل از زمانبندی، اسکریپت را دستی تست کنید
خلاصه
- اسکریپتها زیر
/system scriptذخیره میشوند - زمانبند (
/system scheduler) آنها را بهصورت خودکار اجرا میکند - کاربردها: بکاپ روزانه، ریبوت دورهای، ریستارت اینترفیس، failover
