inotify+rsync安装配置
| 环境 | 系统 | IP地址 |
| 主服务器 | CentOS7.4 | 192.168.1.1 |
| 备份服务器 | CentOS7.4 | 192.168.1.2 |
一、备份服务器
安装rsync(备)
wget https://rsync.samba.org/ftp/rsync/src/rsync-3.1.3.tar.gz
tar -xf rsync-3.1.3.tar.gz
./configure --prefix=/usr/local/rsync
make && make install
配置rsyncd.conf
cat <<EOF> /etc/rsyncd.conf
pid file = /var/run/rsync.pid
log file = /var/log/rsync.log
lock file=/var/run/rsync.lock
secrets file = /etc/rsync.pw
motd file = /etc/rsyncd.motd
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
[data]
path = /data/test/
comment = data
exclude =
port = 873
uid = root
gid = root
timeout = 600
max connections = 200
use chroot = no
read only = no
list = no
hosts allow = 192.168.1.1
EOF
可以设置多个目录
#增加test1目录
[test1]
path = /data/test1
list = yes
ignore errors
comment = ucweb-file system
secrets file = /etc/rsync.pw
exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/
建立密码认证文件
cat <<EOF> /etc/rsync.pw
root:123456
EOF
配置rsyncd.motd文件,开始传送的时候会显示
cat <<EOF> /etc/rsyncd.motd
###############################
# #
# start rsync #
# #
###############################
EOF
启动rsync
/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
开机启动rsync
echo '/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf'>>/etc/rc.d/rc.localer
二、主服务器
建立密码认证文件
cat <<EOF> /etc/rsync.pw
123456
EOF
测试开始
/usr/local/rsync/bin/rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.3::data --password-file=/etc/rsync.pw
查看192.168.1.2上是否有同步
安装inotify-tools
yum install inotify-tools -y
新建inotify.sh文件同步
#!/bin/sh
# get the current path
CURPATH=`pwd`
/usr/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify /data | while read date time dir file; do
FILECHANGE=${dir}${file}
# convert absolute path to relative
FILECHANGEREL=`echo "$FILECHANGE" | sed 's_'$CURPATH'/__'` /usr/bin/rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.2::data --password-file=/etc/rsync.pw
echo "At ${time} on ${date}, file $FILECHANGE was backed up via rsync"
done
注意:
如果仅仅是备份的话,不要带delete参数
参考链接
https://blog.csdn.net/liuzheng0915/article/details/52003942
三、研究
lrsync
https://www.cnblogs.com/zxci/p/6243574.html
inotify+rsync安装配置的更多相关文章
- rsync安装配置及故障解决完全教程[window, 文件同步]
Rsync是的全称是: remote synchronize, 也就是远程同步数据, 它是一款不错的文件同步软件,而且是免费的, 它在镜像保存整个目录树和文件系统的同时保持原来文件的权限.时间.软硬链 ...
- rsync安装配置实时同步
一.简介 1.认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个主 ...
- centos rsync安装配置
安装 1 yum -y install rsync ---------------------服务器安装------------------------------- 创建基础配置文件 1 2 3 4 ...
- inotify工具安装配置
一.安装 1) 从内核和目录里面查看是否支持inotify [root@nfs01 ~]# uname -r 2.6.32-573.el6.x86_64 [root@nfs01 ~]# ls -l ...
- Linux系统inotify工具安装配置
inotify主要功能 Inotify 是一个 Linux特性,它监控文件系统操作,比如读取.写入和创建.Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多.学习如何将 ...
- Rsync安装配置
一.先准备两台CentOS服务器,假定是 1.172.18.2.225(服务端) 需要配置rsyncd.conf文件 2.172.18.2.227(客户端) 不需要配置rsyncd.conf文件 二. ...
- CentOS7 安装配置rsync
centos7自带rsync,今天简单记录下. rsync安装配置步骤 服务器端: 1.修改默认配置文件/etc/rsyncd.conf,该成如下: # /etc/rsyncd: configurat ...
- Inotify+rsync实现实时数据同步
使用rsync可以实现数据同步,但是即使使用crontab定时任务最小执行间隔为1分钟,在数据实时性要求比较高场合需使用inotify+rsync实现实时同步 下载inotify wget https ...
- lsyncd替代inotify+rsync实现实时同步
因公司业务需要需要实时同步日志文件,刚一开始使用的是inotify+rsync来实现实时同步,但时间久而久之发现同步的速度越来越慢,往往延迟好几个小时.查了一下网上的inotify+rsync方案基本 ...
随机推荐
- hoj Counting the algorithms
贪心加树状数组 给出的数据可能出现两种情况,包括与不包括,但我们从右向左删就能避免这个问题. #include<stdio.h> #include<string.h> #inc ...
- [ACM] POJ 3349 Snowflake Snow Snowflakes(哈希查找,链式解决冲突)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 30512 Accep ...
- c++ vector init操作
1) string str[n]={"hello", ...}; vector<string> strArray(str,str+n); 2) vector<st ...
- CentOS安装emacs24.2命令
CentOS安装emacs24.2命令 #1.安装如下软件 yum -y groupinstall "Development Tools" yum -y install gtk+- ...
- wcf实体和ef实体冲突。。。
指定的架构无效.错误: CLR 类型到 EDM 类型的映射不明确,因为多个 CLR 类型与 EDM 类型“agentinfo”匹配.以前找到的是 CLR 类型“chanchengFlow.Models ...
- <img/>标签onerror事件在IE下的bug和解决方法
IE下打开网页时,会弹出“Stack overflow at line: 0”的弹框.经分析,这个bug是由于img标签的onerror事件引起的.程序中用到的代码片段如下:正常情况下显示src所指路 ...
- C#读取Excel日期时间
//如果为20171219 if (dt.Rows[i][title].ToString().Trim().Length == 8) { realDate = dt.Rows[i][title].To ...
- simple fix 主从不一致滴error
Last_SQL_Error: Error 'Unknown table 'bb'' on query. Default database: 'test'. Query: 'DROP TABLE `b ...
- Leetcode: Best Time to Buy and Sell Stock I, II
思路: 1. 算法导论讲 divide and conquer 时, 讲到过这个例子. 书中的做法是先让 price 数组减去一个值, 然后求解最大连续子数组的和. 分治算法的复杂度为 o(nlogn ...
- Extjs3.4--TabpanelDemo
Ext.onReady(function () { var tab = new Ext.TabPanel({ renderTo: Ext.getBody(), height: 500 }) tab.a ...