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/nullif [ $? -eq 0 ];thenecho \"zabbix字体已经更换\"else#需要将字体文件先导入到linux,将字体文件名改成小写cd $simkai_font_positionmv SIMKAI.TTF simkai.ttfcp simkai.ttf $zabbix_font_position#编辑zabbix字体定义文件sed -i \'s/graphfont/simkai/g\' /usr/share/zabbix/include/defines.inc.php &>/dev/nullif [ $? -eq 0 ];thenecho \"Zabbix font change\"elseecho \"font change failed,please check defines.inc.php file\"exitfisystemctl restart zabbix-serverecho \"Restart zabbix-server done...\"fi}4.3andyishang() {#########zabbix4.3以上web中文乱码解决###########判断zabbix字体是否已更换ll /etc/alternatives/zabbix-web-font | grep simkai.ttfif [ $? -eq 0 ];thenecho \"zabbix字体已经更换\"else#zabbix4.4没有fonts目录,需要手动创建,然后将msyh.ttf复制进去mkdir /usr/share/zabbix/fontscd $simkai_font_positionmv SIMKAI.TTF simkai.ttfcp simkai.ttf /usr/share/zabbix/fonts#使用#ll /etc/alternatives/zabbix-web-font,可以看到zabbix-web-font文件实际上是一个软连接,链接的文件实际位置是:/usr/share/fonts/dejavu/DejaVuSans.ttfrm -rf /etc/alternatives/zabbix-web-fontln -s /usr/share/zabbix/fonts/simkai.ttf /etc/alternatives/zabbix-web-fontecho \"Zabbix font change\"systemctl restart zabbix-serverecho \"Restart zabbix-server done...\"fi}case $zabbix_version in40|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
也可关注“哎呦运维”微信订阅号,随时接受文章推送。