许多玩 openwrt 的同学可能已经用 adbyby 来过滤广告了,但路由版本有时可能会出现不稳定的情况,比如进程崩溃,或者是占用资源过高。
下面给出两个简单的脚本以防止这两种情况,仅供参考。
监控崩溃,如有崩溃,然后重启:
[Bash shell] 纯文本查看 复制代码 #!/bin/bash
mon() {
while [ "1" ];
do
cc=`ps | grep adby | grep -v grep | grep -v catch`
if [ -z "$cc" ];then
/opt/adbyby/bin/adbyby &>/dev/null
fi
sleep 4
done
}
mon &
定时重启,防止资源占用过高:
[Bash shell] 纯文本查看 复制代码 #!/bin/sh
killall adbyby
/tmp/adblock/bin/adbyby &
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8118
将其加入 crontab 来执行,目的是每一分钟自动关闭再打开 adbyby :
- echo '*/1 * * * /usr/mem_killer.sh' >> /etc/crontabs/root
复制代码
在实际测试中,在一般的应用中,adbyby 可以稳定运行绝对不止 1 分钟,可以根据实际情况,进行调整,毕竟频繁启停也可能带来一些偶发不稳定因素。
|