رفتن به محتوا
بازگشت به وبلاگ
میکروتیک

Scheduler و اسکریپت در MikroTik: خودکارسازی وظایف

اسکریپت RouterOS بنویسید و آن‌ها را با Scheduler زمان‌بندی کنید تا وظایف تکراری مثل پشتیبان‌گیری، گزارش و ری‌استارت اینترفیس را خودکار کنید.

مرداد ۱۴۰۵
۱۱ دقیقه مطالعه

اسکریپت‌نویسی و زمان‌بند در 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