zabbix 3.2.1 升级3.4.1
#!/bin/bashBASEDIR
=$(dirname $(readlink -f $0))
log
=/root/update_zabbixserver_to_3.4.1.log
[
-e $log ] || >$log
ls -l $BASEDIR |egrep "^d" |xargs rm -rf
[
-z "$(cat /etc/group |grep zabbix)" ] || groupadd zabbix
[
-z "$(cat /etc/passwd |grep zabbix)" ] || useradd -g zabbix -s /sbin/nologin -M zabbix
tools
=(net-snmp-devel)
for i in ${tools
[*]}do rpm
-qa |grep ^$i > /dev/null 2>&1 if [ $? != 0 ];then
yum install -y $i
if [ $? == 0 ];then
echo "install OK: $i" |tee -a $log
else
echo "install ERROR: $i" |tee -a $log
fi
else
echo "installed, skip it: $i" |tee -a $log
fi
done
# backup old version dir
if [ -e "/usr/local/zabbix" ];then
mv /usr/local/zabbix /usr/local/zabbix_3.2.1
fi
tar -xzvf zabbix-3.4.1.tar.gz
cd zabbix-3.4.1
./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-unixodbc \
--enable-java
if [ $? == 0 ];then
echo "Zabbix OK ..." |tee -a $log
make > null
if [ $? = 0 ];then
echo "Zabbix OK ..." |tee -a $log
make install > null
if [ $? == 0 ];then
echo "Zabbix OK ..." |tee -a $log
# backup old version zabbix_server bin
if [ -e "/etc/init.d/zabbix_server" ];then
mv /etc/init.d/zabbix_server /tmp/zabbix_server_bak
cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/
else
cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/
fi
# backup old version zabbix_agentd bin
if [ -e "/etc/init.d/zabbix_agentd" ];then
mv /etc/init.d/zabbix_agentd /tmp/zabbix_agentd_bak
cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
else
cp ${BASEDIR}/zabbix-3.4.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
fi
chkconfig --del zabbix_server 2>null
chkconfig --add zabbix_server
chkconfig --del zabbix_agentd 2> null
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
[ -e "/var/www" ] || mkdir -p /var/www
# backup old version web
if [ -e "/var/www/zabbix" ];then
mv /var/www/zabbix /var/www/zabbix_3.2.1
else
cp -r ${BASEDIR}/zabbix-3.4.1/frontends/php /var/www/zabbix
fi
chmod 777 /var/www/zabbix/conf
sed -i "/^# DBHost=localhost/a\DBHost=127.0.0.1" /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^DBName=.*$/DBName=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^# DBPassword=.*$/DBPassword=123456/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i "/^# StartDiscoverers=1/a\StartDiscoverers=10" /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
else
echo "Zabbix ERROR !!" |tee -a $log
fi
else
echo "Zabbix ERROR !!" |tee -a $log
fi
fi
页:
[1]