Scheduler-计划任务

设定的计划任务,并通过时间安排执行相应的脚本操作.

规格

功能包需求: system

等级需求: Level1

操作路径: /system scheduler

技术与标准: None

硬件使用: Not significant

计划表配置

计划表能触发脚本执行,在指定的时间段或者是在指定的时间间隔.

属性描述

interval (time; 默认: 0s) – 脚本执行的间隔时间,脚本反复执行在一个指定的时间间隔

name (name) – 任务名

on-event (name) – 脚本执行名。通过调用/system script里的脚本规则名称

run-count (read-only: integer) – 监视脚本使用数, 这个计数器记录当每个脚本执行一次,计数器便增加1

start-date (date) – 开始脚本执行的日期

start-time (time) – 开始脚本执行的时间

startup – 默认在系统启动3秒后执行脚本.

注:

重启路由器时将重置 run-count 计数器。

如果计划表选项里面对 start-time 设置了 startup,则在控制台开启后3秒运行。这意味着所有的脚本设置为 start-time=startup 和 interval=0,当路由器启动就会被执行。

事例1

我们添加一个任务执行系统日志记录测试,并间隔1小时执行一次,这个操作为

logtest:

[admin@MikroTik] system script> add name=logtest source=:log info "test"
[admin@MikroTik] system script> print
     0   name="script1" owner="admin"
     policy=ftp,reboot,read,write,policy,test,winbox,password,sniff
     last-started=may/16/2008 21:32:51 run-count=3 source=:log info "test"
[admin@MikroTik] system script> .. scheduler
[admin@MikroTik] system scheduler> add name=run-1h interval=1h on-event=logtest
[admin@MikroTik] system scheduler> print 

Flags: X - disabled
 #   NAME      ON-EVENT  START-DATE  START-TIME INTERVAL     RUN-COUNT
 0   run-1h    logtest   mar/30/2004 06:11:35   1h           0
[admin@MikroTik] system scheduler>

Schedule在Winbox的配置如下:

事例2

另外一个例子是添加2个脚本改变带宽设置队列规则“cust0”,每天上午9点限制为64kb/s,下午5点限制为128kb/s。这个队列的规则、脚本和计划任务如下(注:在2.9种cust0是不需要加双引号的,但在3.0中需要注明字符串,要加上双引号“cust0”) :

[admin@MikroTik] queue simple> add name=Cust0 interface=ether1 \... target-address=192.168.0.0/24 limit-at=64000
[admin@MikroTik] queue simple> print
Flags: X - disabled, I - invalid
  0   name="Cust0" target-address=192.168.0.0/24 dst-address=0.0.0.0/0
      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>

事例3

下面的例子安排了一个通过电子邮件发送每周备份路由器配置信息的脚本:

[admin@MikroTik] system script> add name=e-backup source={/system backup
save name=email; /tool e-mail send to="root@host.com" 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 e-mail

(注:建议是自己的SMTP服务器,一些正规网站的邮件服务器可能会将发送信息屏蔽)

[admin@MikroTik] tool e-mail> set server=159.148.147.198 from=SysAdmin@host.com
[admin@MikroTik] tool e-mail> print
    server: 159.148.147.198
      from: SysAdmin@host.com
[admin@MikroTik] tool e-mail>

事例4

下面的例子是从午夜12点到正午12点的每个小时里把“x”加进日志中:

[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 “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>