每日自动重启 TP-Link 路由器

TP-Link路由器有些老的型号有个缺陷,长期使用,会造成速率变慢,缓存占用过多,需要重启。

找了下脚本重启方法,结合树莓派,python + crontab 做到定时每日重启

# -*- coding: utf-8 -*-
# reboot TP-LINK router script
#
import urllib2
import base64
from datetime import datetime

# IP for the routers
routers = [
    {'ip': '192.168.2.***', 'user': '***', 'pwd': '***'},
    {'ip': '192.168.2.***', 'user': '***', 'pwd': '***'}
]
page_url = '/userRpm/SysRebootRpm.htm'

if __name__ == '__main__':
    for router in routers:
        # make requests
        base_url = 'http://' + router['ip'] + page_url
        url = base_url + '?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7'
        auth = 'Basic ' + base64.b64encode(router['user']+':'+router['pwd'])
        print datetime.now(), url
        heads = {'Referer': base_url, 'Authorization': auth}

        # send requests
        request = urllib2.Request(url, None, heads)
        response = urllib2.urlopen(request)

  

然后在树莓派 Linux下 编辑 /etc/crontab 加入每日执行命令

sudo vi /etc/crontab

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
# 每日凌晨4点59分执行脚本重启路由器
59 4    * * *   root    python /home/pi/reboot_routers.py
#

  

posted @ 2017-04-09 00:19  Jarrey  阅读(5171)  评论(0编辑  收藏  举报