二代云盒混合网
#!/bin/sh #二代云盒-混合网 device_version=`cat /xdfapp/data/version/device` ocb_device=`cat /proc/cpuinfo |grep "J3160" |wc -l` nginx_dir="/xdfapp/backups/server" tar_nginx_mixed="nginx_maxid_201809141429.tar.gz" download_url="http://img.fe.okjiaoyu.cn" info_log="/tmp/update_info.log" date=`date +%Y%m%d-%H:%M:%S` mkdir -p /xdfapp/logs/proxy/ function nginx_update { if [ `md5sum /xdfapp/scripts/auto_cut_nginx_log.sh |awk '{print $1}'` != "f34a115ca318eaa54b2ed3b0d8f78724" ];then wget -q http://img.fe.okjiaoyu.cn/auto_cut_nginx_log.sh -O /xdfapp/scripts/auto_cut_nginx_log.sh && echo "auto_cut_nginx_log ok" fi wget -q -O /xdfapp/scripts/startup_nginx.sh http://img.fe.okjiaoyu.cn/startup_nginx.sh if [ `cat /xdfapp/scripts/startup_nginx.sh |wc -l` != "16" ];then echo "nginx_update download startup_nginx.sh error" wget -q -O /xdfapp/scripts/startup_nginx.sh http://img.fe.okjiaoyu.cn/startup_nginx.sh fi [ ! -d $nginx_dir ]&&mkdir -p /xdfapp/backups/server/ if [ -d $nginx_dir ];then cd /xdfapp/backups/server/;wget -q ${download_url}/$tar_nginx_mixed if [ $? -eq 0 ];then tar xzf $tar_nginx_mixed && rm -rf $tar_nginx_mixed && echo "tar_nginx_mixed ok" echo "nginx_update `cat /xdfapp/server/nginx/version` ok" nginx_update="ok" else echo "nginx_update error" exit 0 fi fi if [ -f /xdfapp/server/ats ];then /xdfapp/server/ats/bin/trafficserver stop >>/dev/null fi } function rc_update { rc="/xdfapp/backup/rc.local" if [ -f $rc ];then cat $rc > /etc/rc.local echo "rc.loacl init ok" else cat > /etc/rc.local << EOF #!/bin/sh -e /bin/sh /xdfapp/scripts/clean_log.sh >>/dev/null 2>&1 & sleep 5 /bin/sh /xdfapp/scripts/change_route.sh >/dev/null 2>&1 & /xdfapp/monitor/agent/control restart >>/dev/null 2>&1 & /bin/bash /xdfapp/apps/gru-absolute/bin/monitor.sh >>/dev/null 2>&1 & /bin/sh /xdfapp/scripts/startup_nginx.sh >>/dev/null 2>&1 & /usr/local/bin/supervisord -c /etc/supervisord.conf >>/dev/null 2>&1 & /xdfapp/monitor/cswitch/control restart >>/dev/null 2>&1 & echo "" >/var/log/dnsmasq.log >>/dev/null 2>&1 & /etc/init.d/dnsmasq restart >>/dev/null 2>&1 & exit 0 EOF echo "rc_update ok" fi } function cron_update { mkdir -p /xdfapp/backup/ cp /var/spool/cron/crontabs/root /xdfapp/backup/crontabs_root echo "1 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1" >/var/spool/cron/crontabs/root echo "0 0 * * * /bin/sh /xdfapp/scripts/auto_cut_nginx_log.sh >> /dev/null 2>&1" >>/var/spool/cron/crontabs/root echo "0 0 * * * /bin/sh /xdfapp/scripts/clean_log.sh >> /dev/null 2>&1" >>/var/spool/cron/crontabs/root if [ `cat /var/spool/cron/crontabs/root |wc -l` = "3" ];then echo "cron_update ok" else echo "cron_update error" fi if [ ! -f /xdfapp/scripts/clean_log.sh ];then echo "#!/bin/bash" >/xdfapp/scripts/clean_log.sh echo "#清除长连接1天前的日志" >>/xdfapp/scripts/clean_log.sh echo "find /xdfapp/logs/gru-absolute -type f -mtime +0|xargs rm -rf" >>/xdfapp/scripts/clean_log.sh echo "cron_update clean_log add ok" else if [ `md5sum /xdfapp/scripts/clean_log.sh |awk '{print $1}'` != "ff4b355f6ea3a90815bef2460f424983" ];then echo "#!/bin/bash" >/xdfapp/scripts/clean_log.sh echo "#清除长连接1天前的日志" >>/xdfapp/scripts/clean_log.sh echo "find /xdfapp/logs/gru-absolute -type f -mtime +0|xargs rm -rf" >>/xdfapp/scripts/clean_log.sh echo "cron_update clean_log add ok" else echo "cron_update clean_log ok" fi fi } function dns_update { cat > /etc/dnsrecord.txt << EOF 172.16.1.253 ap.okjiaoyu.cn 172.16.1.253 cj.okjiaoyu.cn 172.16.1.253 hd.okjiaoyu.cn 172.16.1.253 hm.okjiaoyu.cn 172.16.1.253 mi.okjiaoyu.cn 172.16.1.253 ok.okjiaoyu.cn 172.16.1.253 pp.okjiaoyu.cn 172.16.1.253 pv.okjiaoyu.cn 172.16.1.253 qa.okjiaoyu.cn 172.16.1.253 qd.okjiaoyu.cn 172.16.1.253 qp.okjiaoyu.cn 172.16.1.253 qv.okjiaoyu.cn 172.16.1.253 ra.okjiaoyu.cn 172.16.1.253 rc.okjiaoyu.cn 172.16.1.253 rs.okjiaoyu.cn 172.16.1.253 rv.okjiaoyu.cn 172.16.1.253 rw.okjiaoyu.cn 172.16.1.253 tc.okjiaoyu.cn 172.16.1.253 td.okjiaoyu.cn 172.16.1.253 vc.okjiaoyu.cn 172.16.1.253 pd.okjiaoyu.cn 172.16.1.253 common.okjiaoyu.cn 172.16.1.253 qdimg.okjiaoyu.cn 172.16.1.253 img.okjiaoyu.cn 172.16.1.253 img.fe.okjiaoyu.cn 172.16.1.253 static.fe.okjiaoyu.cn 172.16.1.253 static.okjiaoyu.cn 172.16.1.253 stmonitor.okjiaoyu.cn 172.16.1.253 temp.okjiaoyu.cn 172.16.1.253 fotadown.mayitek.com 172.16.1.253 ocb.okjiaoyu.cn 172.16.1.253 fa.okjiaoyu.cn 172.16.1.253 tn.okjiaoyu.cn 172.16.1.253 static-site.fe.okjiaoyu.cn 172.16.1.253 cr-ticket.okjiaoyu.cn 172.16.1.253 cdn.redstone.net.cn 172.16.1.253 iotdown.mayitek.com 172.16.1.253 cr-spear.okjiaoyu.cn EOF a=`cat /etc/dnsmasq.conf |grep listen-address` b=`cat /etc/dnsmasq.conf |grep "dhcp"` echo "$a" >/etc/dnsmasq.conf if [ ! -z "$b" ];then echo "$b" >>/etc/dnsmasq.conf fi cat >> /etc/dnsmasq.conf << EOF no-resolv no-hosts addn-hosts=/etc/dnsrecord.txt cache-size=5000 log-facility=/var/log/dnsmasq.log log-queries server=/cfg.imtt.qq.com/114.114.114.114 server=/log.tbs.qq.com/114.114.114.114 server=/soft.tbs.imtt.qq.com/114.114.114.114 server=/wup.browser.qq.com/114.114.114.114 server=/monitor.uu.qq.com/114.114.114.114 server=/oth.str.mdt.qq.com/114.114.114.114 server=/oth.eve.mdt.qq.com/114.114.114.114 server=/web.p.qq.com/114.114.114.114 server=/hivoice.cn/114.114.114.114 server=/easemob.com/114.114.114.114 server=/jpush.io/114.114.114.114 server=/jpush.cn/114.114.114.114 server=/umeng.com/114.114.114.114 server=/umengcloud.com/114.114.114.114 server=/okjiaoyu.cn/114.114.114.114 server=/okay.cn/114.114.114.114 server=/xk12.cn/114.114.114.114 server=/okayzhihui.cn/114.114.114.114 server=/qiniu.com/114.114.114.114 server=/redstone.net.cn/114.114.114.114 server=/mayitek.com/114.114.114.114 server=/www.cctv.com/114.114.114.114 server=/ntp1.aliyun.com/114.114.114.114 server=/ntp.aliyun.com/114.114.114.114 server=/ntp2.aliyun.com/114.114.114.114 server=/ntp3.aliyun.com/114.114.114.114 server=/cn.ntp.org.cn/114.114.114.114 server=/mimc.chat.xiaomi.net/114.114.114.114 server=/app.chat.xiaomi.net/114.114.114.114 server=/resolver.msg.xiaomi.net/114.114.114.114 server=/up.qbox.me/114.114.114.114 server=/uc.qbox.me/114.114.114.114 EOF /etc/init.d/dnsmasq restart >>/dev/null if [ $? -eq 0 ];then echo "restart dns ok" else pgrep dnsmasq >>/dev/null && kill -9 `pgrep dnsmasq` && echo "$date kill dns ok" /etc/init.d/dnsmasq restart >>/dev/null && echo "restart dns ok" fi } function route_update { wget -q -O /xdfapp/scripts/change_route.sh http://img.fe.okjiaoyu.cn/okaystation/route/change_route.sh && echo "change_route.sh ok" wget -q http://img.fe.okjiaoyu.cn/okaystation/route/route.conf -O /etc/route/route.conf && echo "route.conf ok" if [ -f /xdfapp/scripts/change_route.sh ];then if [ `md5sum /xdfapp/scripts/change_route.sh|awk '{print $1}'` = "c79d1d5eec1c1278dd8af83964cf82d1" ];then echo "route_update ok" nginx_update if [ "$nginx_update" = "ok" ];then a=`ps -ef |grep change_route.sh|grep -v "grep"|awk '{print $2}'` if [ ! -z "$a" ];then kill -9 $a && echo "kill change_route ok" nohup /bin/sh /xdfapp/scripts/change_route.sh >/dev/null 2>&1 & ps -ef |grep change_route.sh|grep -v "grep" else nohup /bin/sh /xdfapp/scripts/change_route.sh >/dev/null 2>&1 & ps -ef |grep change_route.sh|grep -v "grep" fi else echo "route_update nginx_update error" fi else echo "route_update error" fi else echo "route_update error" fi } if [ "$ocb_device" = "4" ];then route_update rc_update dns_update cron_update echo "device_version is $device_version" rm -rf /home/okay/桌面/* && echo "清空桌面" else echo "云盒版本不对,当前版本为`cat /proc/cpuinfo |grep "model name" |awk '{print $7}'|head -n1`" fi