Shell-case+函数解决zabbix web页乱码脚本


title: Shell-case+函数解决zabbix web页乱码脚本
date: 2020-04-28 20:24:09
categories:

  • Shell
    tags:
  • case
  • 函数定义脚本
  • zabbix web乱码

解决zabbix web流量监控页乱码

以SIMKAI.TTF为例!!!

#!/bin/bash
#2019-12-27 by zjz
#SIMKAI.TTF 为楷体 字体英文名称
#2020-04-28 by zjz
#解决4.2 或4.4 多版本web数据监控页中文字体乱码问题

#1.先将Windwos front C:\Windows\Fonts\SIMKAI.TTF字体拷贝至linux主机任意目录
# 以SIMKAI.TTF为例


#查看zabbix 版本
zabbix_version=`zabbix_server -V | head -n 1 | awk '{print $3}' | awk  -F'.' '{print $1$2}'`
echo "You are Zabbix Version is: zabbix_server (Zabbix) $zabbix_version "

#查找simkai.ttf字体位置
simkai_font_position=`find / -iname 'SIMKAI.TTF' | grep -v 'zabbix' | sed -r 's#SIMKAI.TTF# #i'` 
echo "simkai_font_position: $simkai_font_position"


#4.2版本以下
4.2andyixia() {
    
    
	#########zabbix4.2以下web中文乱码解决##########
	#查找zabbix字体路径  
	zabbix_font_position=`find / -name 'graphfont.ttf' | sed -r 's#graphfont.ttf# #g'`
	echo "zabbix_font_position: $zabbix_font_position"	

	#判断zabbix字体是否已更换
	grep 'simkai' /usr/share/zabbix/include/defines.inc.php &>/dev/null
	if [ $? -eq 0 ];then
		echo "zabbix字体已经更换"	
	
	else
		#需要将字体文件先导入到linux,将字体文件名改成小写 
		cd $simkai_font_position
		mv SIMKAI.TTF simkai.ttf
		cp simkai.ttf $zabbix_font_position
	
		#编辑zabbix字体定义文件
		sed -i  's/graphfont/simkai/g'  /usr/share/zabbix/include/defines.inc.php &>/dev/null
		if [ $? -eq 0 ];then
			echo "Zabbix font change"
		else 
			echo "font change failed,please check defines.inc.php file"
			exit
		fi
		systemctl restart zabbix-server
		echo "Restart zabbix-server done..."
	fi
}

4.3andyishang() {
    
    
	#########zabbix4.3以上web中文乱码解决##########
	
	#判断zabbix字体是否已更换
	ll /etc/alternatives/zabbix-web-font | grep simkai.ttf
	if [ $? -eq 0 ];then
		echo "zabbix字体已经更换"
	else	
		#zabbix4.4没有fonts目录,需要手动创建,然后将msyh.ttf复制进去
		mkdir  /usr/share/zabbix/fonts 
		cd $simkai_font_position
		mv SIMKAI.TTF simkai.ttf
		cp simkai.ttf /usr/share/zabbix/fonts 
		 
		#使用#ll /etc/alternatives/zabbix-web-font,可以看到zabbix-web-font文件实际上是一个软连接,链接的文件实际位置是:/usr/share/fonts/dejavu/DejaVuSans.ttf 
		rm -rf /etc/alternatives/zabbix-web-font
		ln -s /usr/share/zabbix/fonts/simkai.ttf /etc/alternatives/zabbix-web-font
		echo "Zabbix font change"
		systemctl restart zabbix-server
		echo "Restart zabbix-server done..."
	fi
}


case $zabbix_version in 

40|41|42)
	4.2andyixia
	;;
43|44)
	4.3andyishang
	;;
*)
	echo "Your zabbix verison not support OR  Not found Zabbix.Please check zabbix"
	;;

esac

解决后效果如下:


更多更好的原创文章,请访问官方网站: 点我就能跳转咯-》https://nothingzh.gitee.io
也可关注“哎呦运维”微信订阅号,随时接受文章推送。

猜你喜欢

转载自blog.csdn.net/qq_37126850/article/details/105815132