手机版

ROS PPPOE到期提醒停用脚本

发布时间:2021-06-05   来源:未知    
字号:

ROS PPPOE用户帐号到期提前提醒,过期帐号禁用及强制下线脚本.

#ROS PPPOE用户帐号到期提前提醒,过期帐号禁用及强制下线脚本
#用户帐户的备注里必须包含格式:[yyyymmdd] 如:有效期至[yyyymmdd]
#其中 yyyymmdd 为到期年月日

#before 为到期提前提醒的天数
:local before 2

#获取当前系统日期信息
:local curdate [/system clock get date]

#将当前系统日期信息转换为年月日 yyyymmdd 的格式
:local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $curdate 0 3]]+1)
:if ($yy<10) do={:set yy (0 . $yy)}
:set curdate ([:pick $curdate 7 11] . $yy . [:pick $curdate 4 6])

#expdate 为账户有效期变量
:local expdate ""

#cnt 为有效用户数变量
:local cnt "0"

/ppp secret
:foreach puse in [find disabled=no] do={
:local pcom [get $puse comment]
:set expdate [:pick $pcom ([:find $pcom "["]+1) ([:find $pcom "]"])]
:local pnam [get $puse name]
:set cnt ($cnt + 1)
:if ($pcom != "" && $pcom != "admin") do={
:if ([:len $pcom]<10) do={
:log error ("账号【".$pnam."】的有效期备注格式有误,现备注:" . $pcom );:beep frequency=2080;
} else={
:if ($expdate>1) do={
:if ($expdate >= $curdate && ($expdate - $curdate) <= $before) do={
:log error ("用户【" . $pnam . "】即将到期,有效期至 $expdate")
}
}
:if ($expdate < $curdate) do={

#将过期的帐号连接强制下线
/ppp active remove [/ppp active find name=$pnam];

#将过期的帐号禁用,不允许拨号
/ppp secret disable [/ppp secret find name=$pnam];:set cnt ($cnt - 1)
:log error ("用户【" . $pnam . "】已过期,停用并强制下线!")
}
}
} else={
:log error ("用户【" . $pnam . "】的备注为空,请重新备注!");:beep frequency=2080;
}
}
:log warning ("有效用户数【" . $cnt . "】")

################################# 脚本到此为止 #########################################

首先在 /system script 下添加Script,命名为“PPPOE到期提醒”,然后将以上脚本拷贝粘贴
到Source下面。

其次在 /system scheduler 下添加Scheduler,命名随便,比如“PPPOE到期提醒”,然后
在On Event:下面填写Script名“PPPOE到期提醒”,注意填
写Script名时不要代双引号。
Start Time: 改为路由器负载比较轻的时刻比较好,比如02:00:00。
Interval:改为24:00:00,即每隔24小时(每天02:00:00)执行一次。

最后,将下面的 Policy 全部都勾上。

点击 OK,完毕。

ROS PPPOE到期提醒停用脚本.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)