Cacti 数据库同步方法

Cacti 数据库同步方法

cacti

rrdtool

mysql

Cacti 不同主机间的数据库同步脚本

使用的软件有

Rsync scp mysql

1.免密钥登录

首先做主备服务器的免密钥登录,要求主服务器能免密钥登录其他节点服务器

1.1 在A机下生成公钥/私钥对。

ssh-keygen -t rsa -P ‘‘
-P表示密码,-P ‘’ 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/chenlb下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。

1.2 把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制
scp .ssh/id_rsa.pub [email protected]:/root/id_rsa.pub
[email protected]‘s password:
id_rsa.pub                                    100%  223     0.2KB/s   00:00

由于还没有免密码登录的,所以要输入密码

1.3 B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里
ssh-keygen -t rsa -P ‘‘
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

authorized_keys的权限要是600

1.4 A机登录B机
ssh 192.168.1.2
The authenticity of host ‘192.168.1.2 (192.168.1.2)‘ can‘t be established.
RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.2‘ (RSA) to the list of known hosts.
Last login: Thu Feb 3 09:53:18 2017 from root

第一次登录是时要你输入yes,现在A机可以无密码登录B机了。
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让A,B机无密码互登录,那B机以上面同样的方式配置即可

2.同步脚本

touch  /var/www/sqlbackup.sh
chmod +x  /var/www/sqlbackup.sh

将以下脚本创建到 /var/www/sqlbackup.sh 并赋予执行权限
修改其中的数据库用户名 密码 通知邮箱 节点服务器 登录口令 及数据库备份恢复密码

#!/bin/bash
# cacti 数据库主备同步脚本
# Make by Fenei
# E-Mail : [email protected]
# Date : 07-Feb-2017
#  URL:http://babyfenei.blog.51cto.com/443861/1852324
#-----------------------------------------------------
# 本脚本自动备份cacti数据,并通过SCP发送至远程服务器并远程执行数据库恢复操作
# 要求主服务器可免密钥登录节点服务器
# 本脚本会自动打包备份的数据库并保存1个月

USER="cactiuser"
PASSWORD="cactiuser"
DATABASE="cacti"
MAIL="[email protected]"
#告警通知邮箱
BACKUP_DIR=/var/www/sqlbackup/
CANAME=cacti.sql
#备份文件存储路径
LOGFILE=/var/log/data_backup.log
#日志文件路径

DATE=`date +%Y%m%d-%H%M`
ARCHIVE=$DATE.sql.tar.gz
OPTIONS="-u$USER -p$PASSWORD $DATABASE --ignore-table=cacti.settings"
# --ignore-table=cacti.settings 是备份时跳过settings表,防止各个CA settings 设置一样,可根据需求更改

#判断备份文件存储目录是否存在,否则创建该目录
if [ ! -d $BACKUP_DIR ]
then
    mkdir -p "$BACKUP_DIR"
fi

#开始备份之前,将备份信息头写入日记文件
echo "    ">> $LOGFILE
echo "--------------------" >> $LOGFILE

#切换至备份目录
cd $BACKUP_DIR
mysqldump $OPTIONS > $BACKUP_DIR$CANAME
#判断数据库备份是否成功
if [[ $? == 0 ]]
then
    tar czvf $ARCHIVE $CANAME >> $LOGFILE 2>&1
    echo "[$ARCHIVE] Backup Successful!" >> $LOGFILE
 else
    echo "Database Backup Fail!" >> $LOGFILE
#备份失败后向管理者发送邮件提醒
echo "Backup Alter Mail" |mail -s "database:$DATABASE Daily Backup Fail" $MAIL
fi
echo "Backup Process Done"
# 备份文件为cacti.sql并远程备份到节点服务器

###############电信CA同步###############
scp -P 2141 $BACKUP_DIR$CANAME [email protected]192.168.1.2:/tmp/ >> $LOGFILE  2>&1
if [[ $? == 0 ]]
        then
                echo "scp Process down"
                ssh -t -p 2141 [email protected]192.168.1.2 "mysql -u$USER -p$PASSWORD $DATABASE </tmp/cacti.sql"
                ssh -t -p 2141 [email protected]192.168.1.2 "rm -f /tmp/cacti.sql"
                echo "shell Process down!"
        else
				echo "Backup Alter Mail" |mail -s "电信CA数据库同步出错" $MAIL
    fi
###############电信CA同步###############

rm -f $BACKUP_DIR$CANAME
#删除31天以上的备份文件
#Cleaning
find $BACKUP_DIR  -type f -mtime +31 -name "*.tar.gz" -exec rm -f {} \;

3.创建crond任务计划

echo  "58 23 * * * root /var/www/sqlbackup.sh > /dev/null 2>&1" >> /etc/cron.d/backup
service crond restart

4. 次日检查数据库同步结果

时间: 2024-10-28 10:10:06

Cacti 数据库同步方法的相关文章

增加cacti监控对象时导致数据库出问题

生产环境: 数据库:mysql 5.5.49-cll-lve 问题:在众多Cacti监控的对象中,由于增加了监控对象nginx,导致cacti在监控所有对象中仅有1个对象出图出数据. 分析: 1.systemutilities –>Rebuild poller cache #需要重建cache吗?2.系统时间不准确,重新设置时间  #需要更新服务器时间吗?3.图像没有生成,运行 # /usr/bin/php /var/www/html/cacti/poller.php --force #出现数据

cacti监控软件

cacti监控软件: 部署cacti运行环境 # yum -y install httpd mysql mysql-server mysql-devel php php-mysql # yum -y install zlib freetype libjpeg fontconfig libxml2 gd php-gd # yum -y install rrdtool # yum -y install net-snmp net-snmp-utils # service httpd start # c

监控服务器Cacti之一 基本安装

作为一名Linux SA,日常最重要的就是保证网站正常稳定的运行,我们需要实时监控网站.服务器的运行状态,这时需要借助开源软件(cacti.nagios.zabbix等)监控来实现. Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdtool是cacti的关键. Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成.snmp抓到数据不是存

十种NoSQL数据库以及对比

 虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动.尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟.稳定.不过现在也面临着一个严酷的事实:技术越来越成熟--以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本.这里列出一些比较知名的工具,可以为大数据建立快速.可扩展的存储库. 1. Casssandra Cassandra最初由Facebook开发,后来成了Apache开源项目,它是一个网络社交云计算方面理

cacti

Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户.因此,snmp和rrdtool是cacti的关键. Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成.snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称).简单原理图如下: Cacti服务器端安装 安装LAMP系统环境

Centos 6安装Cacti监控网络流量

Centos 6安装Cacti监控网络流量 1.操作系统的安装,这个就不用写教程了吧(略)我个人用的是CentOS6.5最小化安装装好系统以后关闭防火墙和selinux#service iptables stop     /*关闭防火墙服务*/#chkconfig iptables off    /*永久性关闭*/ #vim /etc/sysconfig/selinux   /*把SELINUX=enforcing改为SELINUX=disabled*/ 2.安装cacti依赖的软件 #yum

centos7下搭建cacti

cacti 什么是Cacti? Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数.它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构.host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善.Cacti 的发展是基于让 RRDTool 使用

linux cacti监控部署

一.Cacti安装部署 搭建这个平台是在lamp的环境下,首先要确保 Apache,MySQL,php.安装成功.这里就不写那些了. 1.Cacti服务器端安装 官网下载cacti相关软件,一共需要三个软件,下载地址分别如下: http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz  http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz  http://www.cacti.net/downloa

cacti的搭建

环境    cat /etc/issueUbuntu 10.04.4 LTS \n \l 2..简介和工作原理 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数.它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构.host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好.