您的位置:首页 > 运维架构 > Shell

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

2020-06-03 05:17 253 查看

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
也可关注“哎呦运维”微信订阅号,随时接受文章推送。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: