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 #