zabbix資料庫備份
[root@zabbix-server zabbix_agentd.d]# cat /usr/sbin/zabbix_mysqldump.sh
#!/bin/bash
#author: itnihao
#mail: [email protected]
#license: apache 2.0
#from :
#usage: chmod 700 $/zabbix_mysqldump.sh
#crontab: 0 3 * * * $/zabbix_mysqldump.sh mysqldump
red='\e[0;31m' # 紅色
red='\e[1;31m'
green='\e[0;32m' # 綠色
green='\e[1;32m'
blue='\e[0;34m' # 藍色
blue='\e[1;34m'
purple='\e[0;35m' # 紫色
purple='\e[1;35m'
nc='\e[0m' # 沒有顏色
source /etc/bashrc
source /etc/profile
mysql_user=zabbix
mysql_password=zabbix
mysql_host=localhost
mysql_port=3306
mysql_dump_path=/mysql_backup
mysql_bin_path=/usr/bin/mysql
mysql_dump_bin_path=/usr/bin/mysqldump
mysql_database_name=zabbix
date=$(date '+%y-%m-%d')
mysqldump () ] || mkdir $
cd $
[ -d logs ] || mkdir logs
[ -d $ ] || mkdir $
cd $
table_name_all=$($ -u$ -p$ -h$ $ -e \
"show tables"|egrep -v "(tables_in_zabbix|history*|trends*|acknowledges|alerts|auditlog|events|service_alarms)")
for table_name in $
do$ --opt -u$ -p$ -p$ -h$ \
$ $ >$.sql
sleep 0.01
done
[ "$?" == 0 ] && echo "$: backup zabbix succeed" >> $/logs/zabbixmysqldump.log
[ "$?" != 0 ] && echo "$: backup zabbix not succeed" >> $/logs/zabbixmysqldump.log
cd $/
[ "$?" == 0 ] && rm -rf $(date +%y-%m-%d --date='5 days ago')
exit 0
}mysqlimport ()
date=$(ls $ |egrep "\b^[0-9]+-[0-9]+-[0-9]+$\b")
echo -e "$$"
echo -e "$what date do you want to import,please input date:$"
read select_date
if [ -d "$" ];then
echo -e "you select is $$$, do you want to contine,if,input $(yes|y|y)$,\
else then exit"
read input
[[ 'yes|y|y' =~ "$" ]]
status="$?"
if [ "$" == "0" ];then
echo "now import sql....... please wait......."
else
exit 1
ficd $
for per_tabel_sql in $(ls *.sql)
do$ -u$ -p$ -h$ $ < $
echo -e "import $ $........................$"
done
echo "finish import sql,please check zabbix database"
else
echo "don't exist $ dir"
fi}case "$1" in
mysqldump|mysqldump)
mysqldump
;;mysqlimport|mysqlimport)
mysqlimport
;;*) echo "usage: $0 "
;;esac
backup zabbix mysql database
[root@zabbix-server zabbix_agentd.d]# chmod 700 /usr/sbin/zabbix_mysqldump.sh
[root@zabbix-server zabbix_agentd.d]# crontab -e
0 3 * * * /usr/sbin/zabbix_mysqldump.sh mysqldump
[root@zabbix-server zabbix_agentd.d]# bash /usr/sbin/zabbix_mysqldump.sh mysqldump
#備份資料
[root@zabbix-server zabbix_agentd.d]# bash /usr/sbin/zabbix_mysqldump.sh mysqlimport
#恢復資料
zabbix公升級
公升級zabbix分為兩種情況,一是同版本公升級、不涉及資料庫的公升級更新;而是跨版本公升級,涉及資料庫表結構的更改。
同版本公升級的方法
shell# mkdir -p /data/zabbix/backup
shell# cp -r /etc/zabbix /data/zabbix/backup/zabbix_conf
shell# cp -r /usr/share/zabbix /data/zabbix/backup/zabbix_web
shell# cp -r /usr/sbin/zabbix_server /data/zabbix/backup/zabbix_server
shell# cp -r /usr/sbin/zabbix_proxy /data/zabbix/backup/zabbix_proxy
shell# cp -r /usr/share/doc/zabbix-* /data/zabbix-backup/
(2)備份資料庫(使用上述指令碼進行備份)
shell# rpm -uvh
shell# systemctl stop zabbix-server #停止zabbix-server[注釋對嗎?]
shell# systemctl stop zabbix-proxy #停止zabbix-proxy[注釋對嗎?]
shell# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get -y
shell# systemctl start zabbix-server #開啟zabbix-server
shell# systemctl start zabbix-proxy #開啟zabbix-proxy
shell# ps -ef |grep zabbix #檢視程序
shell# tail -f /var/log/zabbix/zabbix_server.log #檢視日誌
跨版本公升級的方法
跨版本公升級與同版本公升級一致,由於之前版本有監控資料,因此在執行過程中sql語句更改的速度會比較慢,具體視資料情況定。
注意:在公升級過程中切記不可強行中斷zabbix_server 程序,否則再次啟動程序,可能會造成表結構更改失敗的後果,從而導致公升級失敗。
zabbix安裝(7)公升級版本過程
zabbix開 發者很活躍,版本變更的也比較快,我當前版本是2.2,但是發現官方2.4版本的文件已經悄然上線,不過原始碼還沒放出來。後續也要跟著公升級,zabbix 2.0公升2.2與2.2公升2.4的方法沒一樣。如果你從zabbix 1.6公升級到1.8或者zabbix 1.8公升級到zbbix ...
zabbix2 4版本公升級到3 2版本
zabbix3.2版本原始碼安裝完畢,目前將2.4版本公升級到3.2版本操作,只需要將2.4的資料庫備份匯出,然後將其匯入3.2版本的資料庫即可。1 停止zabbix相關服務 service zabbix server stop service zabbix agentd stop service ...
關於版本強制公升級與非強制公升級
在專案實際開發工程中,開發階段需要不斷的做內部更新,修復測試出現的問題 專案成功上架後類似開發階段uat環境下的版本迭代問題 內部版本更新使用的方法 void requestversion 內部版本 build nsstring currentversion nsbundle mainbundle ...