每日自动重启 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 #