ITDB系统搭建及实时备份

ITDB简介

ITDB一款来自希腊的开源IT资产管理系统,它是基于Web的IT资产信息管理系统。对于那些IT设备较多而又缺少管理IT资产信息工具的公司,ITDB是一个不错的选择,ITDB经过三年的开发、更新无论从功能还是界面都是一个成熟的产品了。

官方地址:http://www.sivann.gr/software/itdb/

ITDB资产管理系统搭建

1.安装环境

操作系统:CentOS7_X86_64

IP:192.168.0.119

Sqlite版本:

2.安装httpd以及php以及php-pdo(php操作数据库的工具,默认的sqlite已经安装)

#yum install httpd php php-pdo -y

3.确保httpd开机启动

#systemctl enable httpd.service

4.启动httpd

#systemctl start httpd.service

5.验证httpdphp正常工作

在服务器/var/www/html目录下新建一个test.php文件,内容为:

<?php

echo phpinfo();

?>

终端浏览器输入192.168.0.119/test.php

如果出现类似上图,则安装正常。

6.下载压缩包

登录官网:http://www.sivann.gr/software/itdb/,下载合适的版本,本文档使用的是itdb-1.23.zip ,下载完成上传到服务器。

7.解压文件并拷贝到web服务器根目录

#unzip itdb-1.23.zip

然后拷贝解压后的文件到/var/www/html目录下:

#cp -r itdb-1.23/* /var/www/html/

进入/var/www/html,重命名数据库:

#cp data/pure.db data/itdb.db

添加相关权限:

#chown apache itdb.db

#chmod u+w itdb.db

#chown apache /var/www/html/data/files/

# chmod u+w /var/www/html/data/files/

#systemctl restart httpd.service

8.在浏览器输入服务器IP

看到如下页面:

即可输入用户名admin密码admin登录系统,至此ITDB系统部署完成。

ITDB资产管理系统实时备份

选择一台服务器作为备份,存放备份的文件

以下操作在备份服务器(192.168.88.8)上进行:

1.安装rsync

#yum install rsync -y

2.手动添加rsync用户,此用户是用来运行rysnc daemon进程的

#useradd rsync -s /sbin/nologin

3.创建rsync daemon工作模式的模块目录

#mkdir -p /backup/itdb

4.修改目录属主属组

#chown rsync.rsync /backup/itdb

5.修改rsync配置文件/etc/rsyncd.conf ,以下为一个配置文件案例

uid = rsync

gid = rsync

use chroot = no

max connections = 50

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

# exclude = lost+found/

# transfer logging = yes

timeout = 300

# ignore nonreadable = yes

# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]

# path = /home/ftp

# comment = ftp export area

#

[itdb]

path = /backup/itdb/

read only = false

list = false

host allow = 192.168.0.0/24

host deny = 0.0.0.0/32

auth_users = rsync_backup

secrets file = /etc/rsync.password

这个配置文件主要修改:

Ø uid,gid为rsync,是修改运行rsync daemon的账号

Ø 修改use chroot改为no

Ø 修改timeout超时时间

Ø [itdb] 识别ID,后面的同步需要用到,

Ø Path 后面是同步目录,会把文件同步到这个目录中

Ø Read only = false 是否只读

Ø host allow = 192.168.64.0/18 允许哪个网段同步

Ø host deny = 0.0.0.0/32 其他网段不允许同步

Ø Auth_users = rsync_backup 用来同步的用户

Ø Secrets file =/etc/rsync.password 用来同步的用户以及密码,需要创建此文件

6.创建同步用户密码文件

#vi /etc/rsync.password

rsync_backup:leesir

rsync_backup是同步用户,leesir是密码

7.设置密码文件读取权限

#chmod 600 /etc/rsync.password

8 第八步启动rsync 守护进程

#rsync --daemon

9 第九步查看873端口是否监听

#netstat -tnlp

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 19568/rsync

看到873端口监听,则已经正常工作。

以下操作在itdb服务器进行:

1.查看当前系统是否支持inotify

#ll /proc/sys/fs/inotify/

总用量 0

-rw-r--r-- 1 root root 0 4月  22 14:56 max_queued_events

-rw-r--r-- 1 root root 0 4月  22 14:56 max_user_instances

-rw-r--r-- 1 root root 0 4月  22 14:56 max_user_watches

显示这三个文件则证明支持。

2.安装编译及下载以及同步需要的安装包

#yum install wget gcc gcc-c++ make rsync -y

3.下载inotify源码包并编译安装

#wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz -P /opt

#cd /opt && tar xvf inotify-tools-3.14.tar.gz

#cd /opt/inotify-tools-3.14/ && ./configure --prefix=/usr/local/inotify

#make && make install

4.增加同步用户密码文件/etc/rsync.password

leesir

这里只需要密码,不需要写用户

5.编写监控监本,监控文件变动信息,实时同步到备份服务器,itdb系统使用的数据库是sqlite3,数据全部存储在itdb.db文件里面,只要同步好这个文件就可以了,itdb.db一般在/var/www/html/data目录下,所以同步此目录就可以。

下面是一个同步例子/opt/inotify_itdb.sh

#!/bin/bash

#para

host01=192.168.88.80

src=/var/www/html/data

dst=itdb

user=rsync_backup

rsync_passfile=/etc/rsync.password

inotify_home=/usr/local/inotify

#judge

if [ ! -e "$src" ] \

|| [ ! -e "${rsync_passfile}" ] \

|| [ ! -e "${inotify_home}/bin/inotifywait" ] \

|| [ ! -e "/usr/bin/rsync" ];

then

echo "Check File and Folder"

exit 9

fi

${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib $src \

| while read file

do

# rsync -avzP --delete --timeout=100 --password-file=${rsync_passfile} $src $user@$host01::$dst >/dev/null 2>&1

cd $src && rsync -aruz -R --delete ./ --timeout=100 $user@$host01::$dst --password-file=${rsync_passfile} >/dev/null 2>&1

done

exit 0

解释:

host01是备份服务器IP地址,根据实际情况修改

src是需要同步的目录,目录中所有文件都将实时同步到备份服务器

dst是备份服务器的识别ID,对应上文备份服务器设置,就是/backup/itdb目录

User是同步用户

rsync_passfile是同步用户密码文件

inotify_home是inotify源码安装的家目录

下面脚本的意思是任何改动影响到/var/www/html/data目录下文件内容的,都会立马同步到备份服务器

6.后台运行脚本

#bash /opt/inotify_itdb.sh &

7.itdb网页修改或增加内容,然后到备份服务器ls -l查看文件的时间,可以发现,文件已经同步了

8.如果有需要(恢复),可以在itdb的网页找到导入》选择文件,选择备份的itdb.db文件,就可以恢复到最新的状态

ITDB系统搭建及实时备份的更多相关文章

  1. 通过rsync搭建一个远程备份系统(二)

    Rsync+inotify实时备份数据 rsync在同步数据的时候,需要扫描所有文件后进行对比,然后进行差量传输,如果文件达到了百万或者千万级别以上是,扫描文件的时间也很长,而如果只有少量的文件变更了 ...

  2. 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建

    如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...

  3. 搭建rsync+inotify实现实时备份

    一.环境搭建说明 系统环境 CentOS7.5 备份节点 主机名:backup01 IP地址:172.16.2.41 数据节点 主机名:nfs-master IP地址:172.16.2.31 二.在备 ...

  4. 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份

    小结 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份 1)在web01和web02上安装nginx和php 2)创建ww ...

  5. 快速搭建ELK7.5版本的日志分析系统--搭建篇

    title: 快速搭建ELK7.5版本的日志分析系统--搭建篇 一.ELK安装部署 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic ...

  6. 通过rsync+inotify实现数据的实时备份

    我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,r ...

  7. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  8. 【web】 亿级Web系统搭建——单机到分布式集群

      当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架 ...

  9. [转]亿级Web系统搭建:单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...

随机推荐

  1. 一个简单好用的zabbix告警信息发送工具

    之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...

  2. 二十四种设计模式:命令模式(Command Pattern)

    命令模式(Command Pattern) 介绍将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可取消的操作. 示例有一个Message实体类,某个 ...

  3. [转]Creating an Entity Framework Data Model for an ASP.NET MVC Application (1 of 10)

    本文转自:http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/creating-a ...

  4. 【架构】使用OpenStack、AliYun、AWS、Docker打造融合的IAAS、PAAS平台

    GalaxyManager,即平台门户,旨在整合数据中心异构虚拟化资源为统一的资源池,并在资源池上为用户提供各类IAAS.PAAS服务. GitHub:https://github.com/junne ...

  5. needtrue需要真实的答案

    现在从底层做起来,相当的不容易啊,无论是哪个行业,每个人都需要付出很多的努力.但是现在人们的心是浮躁的,都想一下得到自己想要的东西,钱也好,车也好,房子也好,女人也好.最近很喜欢两句话,这里写下来与大 ...

  6. intellij idea使用maven本地仓库及修改本地仓库路径

    什么maven本地仓库,默认是用户目录下的.m2/repository这个文件. idea是自带maven插件的不用我们再,怎么把依赖包下载到我们的本地仓库呢?一般是idea默认了路径,而且idea是 ...

  7. 转: 学ppt的网址与素材

    转:http://www.jianshu.com/p/89b261e0b8f6 你说你要学ppt,可你知道这些吗?   之前身边的同学总说做PPT很难,每次做ppt都头疼,我都对此很不屑,直到前一段开 ...

  8. CocoSourcesCS 3

    CocoSourcesCS 3 /*---------------------------------------------------------------------- Compiler Ge ...

  9. r与java整合(转)

    http://jliblog.com/archives/10 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方 ...

  10. Node.js monly图片批量下载爬虫1.00

    此爬虫又用到了iconv转码,代码如下: //====================================================== // mmonly图片批量下载爬虫1.00 ...