找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12481|回复: 9

[脚本] 请高手帮我写个脚本实现计划任务,

[复制链接]
发表于 2012-9-1 09:57:28 | 显示全部楼层 |阅读模式
悬赏5铜板未解决
需要实现周一到周五 每天8:00启用pppoe-out5    19:00 禁用pppoe-out5
周六周日 全天禁用pppoe-out5


谁能帮帮忙呢 ,在下万分感激

routeros
 楼主| 发表于 2012-9-1 12:03:06 | 显示全部楼层
自己 顶起 都没有人回答啊
routeros
回复

使用道具 举报

发表于 2012-9-1 13:59:13 | 显示全部楼层
帮忙顶下   期待高手
routeros
回复

使用道具 举报

发表于 2012-9-1 22:51:42 | 显示全部楼层
本帖最后由 hackwen 于 2012-9-1 22:53 编辑


1.把pppoe-out5线路的电源,装一个定时开关。
2.设置定时开关周一到周五 每天8:00通电。 19:00 断电。周六周日断电。
俺是技术白痴,只有这种笨方法,高手们莫笑。

评分

参与人数 1铜板 +12 收起 理由
YAWPYNG + 12 绿色环保,挺好的!

查看全部评分

routeros
回复

使用道具 举报

发表于 2012-9-2 08:01:32 | 显示全部楼层
差点想过头了,顶楼上,好办法
routeros
回复

使用道具 举报

发表于 2012-9-2 09:34:20 | 显示全部楼层
本帖最后由 fandl 于 2012-9-2 09:38 编辑

sys sch add name=pppoe-8o start-time=08:00 int=1d on-ev={/interface enable pppoe-out5}
sys sch add name=pppoe-19c start-time=19:00 int=1d on-ev={/interface disable pppoe-out5}
#添加脚本:8点开放,19点关闭。每天执行一次。
#——————用/sys scheduler pri 查看加入的 name=pppoe-8o脚本是第几个——————
#以下脚本是获取星期几
/sys sch add name=Exp_Auto start-time=07:00 interval=1d on-ev={
:local Date [/system clock get date]
:local Year ([:pick $Date 7 11]-1)
:local Month ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $Date 0 3]])
#定义本地变量 月 发现排在第几位就是几月
:local Day [:pick $Date 4 6]
:if ([:pick $Date 4 5] = 0) do={:set Day [:pick $Date 5 6]}
#如果DATE五位为零,则设Day为第六位的数值
:set Day ($Day-1)
:local leapyear 0,31,59,90,120,151,181,212,243,273,304,334,0,31,60,91,121,152,182,213,244,274,305,335
#定义闰年(能被4整除不能被100整除,能被400整除)
:global Today ($Year*365+$Year/4)
:if (($Year-$Year/4*4) != 3) do={:set Today ($Today+[:pick $leapyear $Month]+$Day)} else={:set Today ($Today+[:pick $leapyear ($Month+12)]+$Day)}
:local usname;:local uspfl;:local Ccomment;:local lc;:local rc;:local Exp;:local js;:local pcl;:local CYear;:local CMonth;:local CDay;:local CToday
#利用公元天数计算今天是星期几,0代表星期日
:global Week ($Today-$Today/7*7)
#:log info ("今天是星期" . $Week)
if $Week=(0,6) do={/sys scheduler disable 1}
#如果是星期六和星期天,就执行关闭序号1的脚本(根据查到的序号修改)

对 $Week=(0,6)不熟悉
如果不对的话,麻烦高手修改一下。
也可以如下修改
if ($Week=0) do={/sys scheduler disable 1}
if ($Week=6) do={/sys scheduler disable 1}

获取星期几的脚本根据“pppoe-提前3天通知到期踢下线-小77脚本”里的内容修改。非本人原创!
routeros
回复

使用道具 举报

发表于 2012-9-2 10:02:38 | 显示全部楼层
哎搞的那么麻烦

  1. /ip firewall filter
  2. add action=accept chain=forward disabled=yes out-interface=pppoe-out5 time=8h-18h59m,mon,tue,wed,thu,fri
  3. add action=drop chain=forward disabled=no out-interface=pppoe-out5 time=0s-1d,sun,sat
复制代码
放到合适的位置
如果你只是阻止上网的话,如果确实需要禁用拨号接口那就需要脚本了



add action=accept chain=forward disabled=yes out-interface=pppoe-out5 time=8h-18h59m,mon,tue,wed,thu,fri
允许 星期1-5 8点到19点可以上网
add action=drop chain=forward disabled=no out-interface=pppoe-out5
其他时间不允许上网
routeros
回复

使用道具 举报

头像被屏蔽
发表于 2012-9-2 20:28:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
routeros
回复

使用道具 举报

发表于 2012-9-3 10:32:33 | 显示全部楼层
真的不难~~~~~~
routeros
回复

使用道具 举报

发表于 2012-9-5 00:56:46 | 显示全部楼层



防火墙规则就行了 不用脚本
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-6 02:48 , Processed in 0.073457 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表