RouterOS自动任务设置
目录
概览
调度程序可以在特定时间或指定时间间隔之后触发脚本执行。
属性 #
interval (time; default: 0s) - 两次脚本执行的间隔,如果时间间隔设置为零,则脚本仅在其开始时间执行,否则在指定的时间间隔重复执行。
name name) - 任务名
on-event (name) - 需要执行的脚本名,必须是属于 /system 脚本。
run-count (read-only: integer) - 运行计数器,用来监控脚本的执行情况,脚本每执行一次该计数器递增一次。
start-date (date) - 第一次执行脚本的日期
start-time (time) - 第一次执行脚本的时间
startup - 系统启动后 3 秒执行脚本。
备注 #
重新启动路由器将重置运行计数计数器。
如果必须同时执行多个脚本,它们将按照它们在调度程序配置中出现的顺序执行。如果一个计划脚本用于禁用另一个脚本,那么这个顺序就很重要。
如果需要更复杂的执行模式,通常可以通过调度多个脚本并让它们相互启用和禁用来完成。
Note: if scheduler item has start-time set to startup, it behaves as if start-time and start-date were set to time 3 seconds after console starts up. It means that all scripts having start-time is startup and interval is 0 will be executed once each time router boots. If the interval is set to value other than 0 scheduler will not run at startup
用例 #
每天凌晨4:30重启路由器
1
2
3
4
5
[ admin@MikroTik] >/system scheduler add name = "autoReboot" on-event= "/system reboot" start-time= "04:30:00" interval = "1d 00:00:00" disabled = no
[ admin@MikroTik] > /system scheduler print
Columns: NAME, START-DATE, START-TIME, INTERVAL, ON-EVENT, RUN-COUNT
# NAME START-DATE START-TIME INTERVAL ON-EVENT RUN-COUNT
0 autoReboot mar/12/2022 04:30:00 1d /system reboot 0
我们将添加一个每小时执行脚本 log-test 的任务:
1
2
3
4
5
6
7
8
9
10
11
12
13
[ admin@MikroTik] system script> add name = log-test source = ":log info message=test"
[ admin@MikroTik] system script> print
Flags: I - invalid
0 name = "log-test" owner = "admin" policy = ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon dont-require-permissions= no run-count= 0
source = :log info message = test
[ admin@MikroTik] system script> .. scheduler
[ admin@MikroTik] system scheduler> add name = run-1h interval = 1h
on-event= log-test
[ admin@MikroTik] system scheduler> print
Flags: X - disabled
# NAME ON-EVENT START-DATE START-TIME INTERVAL RUN-COUNT
0 run-1h log-test mar/30/2004 06:11:35 1h 0
[ admin@MikroTik] system scheduler>
在另一个示例中,将添加两个脚本来更改队列规则“Cust0”的带宽设置。每天上午 9 点队列将设置为 64Kb/s,下午 5 点队列将设置为 128Kb/s。队列规则、脚本和调度程序任务如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[ admin@MikroTik] queue simple> add name = Cust0 interface = ether1 \
\. .. dst-address= 192.168.0.0/24 limit-at= 64000
[ admin@MikroTik] queue simple> print
Flags: X - disabled, I - invalid 0 name = "Cust0" target-address= 0.0.0.0/0 dst-address= 192.168.0.0/24
interface = ether1 limit-at= 64000 queue = default priority = 8 bounded = yes
[ admin@MikroTik] queue simple> /system script
[ admin@MikroTik] system script> add name = start_limit source ={ /queue simple set \
\. .. Cust0 limit-at= 64000}
[ admin@MikroTik] system script> add name = stop_limit source ={ /queue simple set \
\. .. Cust0 limit-at= 128000}
[ admin@MikroTik] system script> print
0 name = "start_limit" source = "/queue simple set Cust0 limit-at=64000"
owner = admin run-count= 0
1 name = "stop_limit" source = "/queue simple set Cust0 limit-at=128000"
owner = admin run-count= 0
[ admin@MikroTik] system script> .. scheduler
[ admin@MikroTik] system scheduler> add interval = 24h name = "set-64k" \
\. .. start-time= 9:00:00 on-event= start_limit
[ admin@MikroTik] system scheduler> add interval = 24h name = "set-128k" \
\. .. start-time= 17:00:00 on-event= stop_limit
[ admin@MikroTik] system scheduler> print
Flags: X - disabled
# NAME ON-EVENT START-DATE START-TIME INTERVAL RUN-COUNT
0 set-64k start... oct/30/2008 09:00:00 1d 0
1 set-128k stop_... oct/30/2008 17:00:00 1d 0
[ admin@MikroTik] system scheduler>
下面的示例安排一个脚本,每周通过电子邮件发送路由器配置备份。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[ admin@MikroTik] system script> add name = e-backup source ={ /system backup
{ ... save name = email; /tool e-mail send to = "[email protected] " subject =([ /system
{ ... identity get name] . " Backup" ) file = email.backup}
[ admin@MikroTik] system script> print
0 name = "e-backup" source = "/system backup save name=ema... owner=admin run-count=0
[admin@MikroTik] system script> .. scheduler
[admin@MikroTik] system scheduler> add interval=7d name=" email-backup" \
\... on-event=e-backup
[admin@MikroTik] system scheduler> print
Flags: X - disabled
# NAME ON-EVENT START-DATE START-TIME INTERVAL RUN-COUNT
0 email-... e-backup oct/30/2008 15:19:28 7d 1
[admin@MikroTik] system scheduler>
不要忘记设置电子邮件设置,即 SMTP 服务器和 /tool 电子邮件下的 From: 地址。例如:
1
2
3
4
5
[ admin@MikroTik] tool e-mail> set server = 159.148.147.198 from = [email protected]
[ admin@MikroTik] tool e-mail> print
server: 159.148.147.198
from: [email protected]
[ admin@MikroTik] tool e-mail>
下面的示例将从午夜到中午每小时将“x”放入日志中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[ admin@MikroTik] system script> add name = enable-x source ={ /system scheduler
{ ... enable x}
[ admin@MikroTik] system script> add name = disable-x source ={ /system scheduler
{ ... disable x}
[ admin@MikroTik] system script> add name = log-x source ={ :log info message = x}
[ admin@MikroTik] system script> .. scheduler
[ admin@MikroTik] system scheduler> add name = x-up start-time= 00:00:00 \
\. .. interval = 24h on-event= enable-x
[ admin@MikroTik] system scheduler> add name = x-down start-time= 12:00:00
\. .. interval = 24h on-event= disable-x
[ admin@MikroTik] system scheduler> add name = x start-time= 00:00:00 interval = 1h \
\. .. on-event= log-x
[ admin@MikroTik] system scheduler> print
Flags: X - disabled
# NAME ON-EVENT START-DATE START-TIME INTERVAL RUN-COUNT
0 x-up enable-x oct/30/2008 00:00:00 1d 0
1 x-down disab... oct/30/2008 12:00:00 1d 0
2 x log-x oct/30/2008 00:00:00 1h 0
[ admin@MikroTik] system scheduler>
上篇:Hysteria使用实例
下篇:Debian11安装Qualcomm QCA9377 WIFI驱动