zabbix5的shell脚本
# vim install_zabbix_server_for_linux.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | #!/bin/bash # #******************************************************************** #Date: 2022-03-05 #FileName: install_zabbix_server_for_linux.sh #Description: The test script #Copyright (C): 2021 All rights reserved #******************************************************************** ZABBIX_VER=5.0 MYSQL_ROOT_PASS= '123456' MYSQL_ZABBIX_PASS= '123456' ZABBIX_IP=` hostname -I| awk '{print $1}' ` . /etc/os-release color () { RES_COL=60 MOVE_TO_COL= "echo -en \\033[${RES_COL}G" SETCOLOR_SUCCESS= "echo -en \\033[1;32m" SETCOLOR_FAILURE= "echo -en \\033[1;31m" SETCOLOR_WARNING= "echo -en \\033[1;33m" SETCOLOR_NORMAL= "echo -en \E[0m" echo -n "$1" && $MOVE_TO_COL echo -n "[" if [ $2 = "success" -o $2 = "0" ] ; then ${SETCOLOR_SUCCESS} echo -n $ " OK " elif [ $2 = "failure" -o $2 = "1" ] ; then ${SETCOLOR_FAILURE} echo -n $ "FAILED" else ${SETCOLOR_WARNING} echo -n $ "WARNING" fi ${SETCOLOR_NORMAL} echo -n "]" echo } install_mysql () { if [ $ID = "centos" ] ; then if [ ${VERSION_ID} == "8" ]; then dnf -y install mysql-server systemctl enable --now mysqld elif [ ${VERSION_ID} == "7" ]; then yum -y install mariadb-server systemctl enable --now mariadb else color "不支持的操作系统,退出" 1 fi else apt update apt -y install mysql-server fi mysqladmin -uroot password $MYSQL_ROOT_PASS mysql -uroot -p$MYSQL_ROOT_PASS <<EOF create database zabbix character set utf8 collate utf8_bin; create user zabbix@localhost identified by "$MYSQL_ZABBIX_PASS" ; grant all privileges on zabbix.* to zabbix@localhost; quit EOF if [ $? - eq 0 ]; then color "MySQL数据库准备完成" 0 else color "MySQL数据库配置失败,退出" 1 exit fi } install_zabbix () { if [ $ID = "centos" ] ; then rpm -Uvh https: //repo .zabbix.com /zabbix/ ${ZABBIX_VER} /rhel/ ${VERSION_ID} /x86_64/zabbix-release- ${ZABBIX_VER}-1.el${VERSION_ID}.noarch.rpm if [ $? - eq 0 ]; then color "YUM仓库准备完成" 0 else color "YUM仓库配置失败,退出" 1 exit fi sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum .repos.d /zabbix .repo if [ ${VERSION_ID} == "8" ]; then yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-get langpacks-zh_CN else yum -y install zabbix-server-mysql zabbix-agent zabbix-get yum -y install centos-release-scl rpm -q yum-utils || yum -y install yum-utils yum-config-manager -- enable zabbix-frontend yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl fi else wget https: //repo .zabbix.com /zabbix/ ${ZABBIX_VER} /ubuntu/pool/main/z/zabbix-release/zabbix-release_ ${ZABBIX_VER}-1+${UBUNTU_CODENAME}_all.deb if [ $? - eq 0 ]; then color "APT仓库准备完成" 0 else color "APT仓库配置失败,退出" 1 exit fi dpkg -i zabbix-release_${ZABBIX_VER}-1+${UBUNTU_CODENAME}_all.deb sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/apt/sources .list.d /zabbix .list apt update apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent zabbix-get language-pack-zh-hans fi } config_mysql_zabbix () { if [ -f SIMYOU.TTF ] ; then mv /usr/share/zabbix/assets/fonts/graphfont .ttf{,.bak} cp SIMYOU.TTF /usr/share/zabbix/assets/fonts/graphfont .ttf else color "缺少字体文件!" 1 fi zcat /usr/share/doc/zabbix-server-mysql * /create .sql.gz | mysql -uzabbix -p$MYSQL_ZABBIX_PASS zabbix sed -i "/.*DBPassword=.*/c DBPassword=$MYSQL_ZABBIX_PASS" /etc/zabbix/zabbix_server .conf if [ $ID = "centos" ]; then if [ ${VERSION_ID} == "8" ]; then sed -i -e "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" -e "/.*upload_max_filesize.*/c php_value[upload_max_filesize] = 20M" /etc/php-fpm .d /zabbix .conf systemctl enable --now zabbix-server zabbix-agent httpd php-fpm else sed -i "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" /etc/opt/rh/rh-php72/php-fpm .d /zabbix .conf systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm fi else sed -i "/date.timezone/c php_value date.timezone Asia/Shanghai" /etc/apache2/conf-available/zabbix .conf chown -R www-data.www-data /usr/share/zabbix/ systemctl enable zabbix-server zabbix-agent apache2 systemctl restart zabbix-server zabbix-agent apache2 fi if [ $? - eq 0 ]; then echo color "ZABBIX-${ZABBIX_VER}安装完成!" 0 echo "-------------------------------------------------------------------" echo "请访问: http://$ZABBIX_IP/zabbix" else color "ZABBIX-${ZABBIX_VER}安装失败!" 1 exit fi } install_mysql install_zabbix config_mysql_zabbix |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?