二代云盒混合网

#!/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

  

原文地址:https://www.cnblogs.com/lixinliang/p/9774061.html