点击(此处)折叠或打开
- #!/bin/sh
- # Name: **list_autoupdate.sh
- # Desription: A script is executed from a crontab entry every day to update dnsmasq rules.
- # Version: 2018.09.29
- # Author: chou.o.ning@gmail.com
- # Website: **list-autoupdate
- # wget output file
- FILE1=dnsmasq_**list_ipset_org.conf
- FILE2=dnsmasq_**list_ipset_add_by_ning.conf
- FILE3=dnsmasq_**list_ipset.conf
- # wget log file
- LOGFILE=wget.log
- # wget download url
- URL1=**list2dnsmasq/dnsmasq_**list_ipset.conf
- URL2=web/releases/download/latest/dnsmasq_**list_ipset_add_by_ning.conf
- wget $URL1 --no-check-certificate -O $FILE1 -o $LOGFILE || exit 1
- wget $URL2 --no-check-certificate -O $FILE2 -a $LOGFILE || exit 1
- cat $FILE1 $FILE2 > $FILE3
- cp $FILE3 /etc/$FILE3
- /etc/init.d/dnsmasq restart
这个脚本中会从两个地方获取**list,一个是
**list2dnsmasq/dnsmasq_**list_ipset.conf 由Cokebar Chi维护
web/releases/download/latest/dnsmasq_**list_ipset_add_by_ning.conf 由本人维护
然后拼接起来拷贝到/etc/dnsmasq_**list_ipset.conf,dnsmasq重启服务即可。
注意事项:
1. OpenWRT需要安装wget组件
2. 需要将**list_autoupdate.sh上传到/root目录下(可以安装openssh-sftp-server,使用sftp命令完成上载)
3. 如果原先crontab为空,则OpenWRT的crond是不启动的,需要手动启动root@OpenWrt:~# /etc/init.d/cron start
4. crontab entry添加命令如下:
root@OpenWrt:~# crontab -e
# update **list at 4:30am every day
30 4 * * * sh /root/**list_autoupdate.sh
5. OpenWRT需要设置正确的时区,否则更新的时间会有8个小时的时差,可以用logread看日志crond是否在工作