centos文件实时同步inotify+rsync
我的应用场景是重要文件备份
端口:873,备份端打开即可
下载地址:https://rsync.samba.org/ftp/rsync/src/
服务端和客户端要保持版本一致
网盘链接:https://pan.baidu.com/s/1wTsj0cCfXRcREnbzeIviuQ
备份端
1、安装rsync:
...
2、设置密码文件
vim /etc/rsync.pas cjh: #格式 用户名:密码 这里的用户名和密码跟系统没有关系的
配置文件
vi /etc/rsyncd.conf #文件不一定有,可以自己创建 # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: # uid = nobody
# gid = nobody
# use chroot = yes
# max connections =
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout =
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # [ftp]
# path = /home/ftp
# comment = ftp export area
加上我的配置
uid =root #root是必须的,同步时权限问题
gid =root
use chroot = yes
max connections = 1
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
transfer logging = yes
log format = %t %a %m %f %b
timeout =
[test]
read only =no #必须是no
path = /root/ #同步目录路径,要注意同步过来的时候模块名会拼接,比如/root/test/ 这里就只需要填/root/
comment = xxx #可选,无太大作用
auth users =cjh #用户名,注意跟系统的用户密码没关系
secrets file =/etc/rsync.pas #密码文件
hosts allow = ip1,ip2 #源文件端ip
启动
which rsync
/xx/rsync #后台启动
/xx/rsync --daemon ps -ef | grep rsync #看看服务是否正常运行
源文件端
1、安装启动rsync+inotify
注意密码文件格式跟备份端不一样,比如这里直接写123456就可以了,不需要用户名
特别介绍一下就是:rsync有六种不同的工作模式
、rsync [OPTION]... SRC DEST
、rsync [OPTION]... SRC [USER@]HOST:DEST
、rsync [OPTION]... [USER@]HOST:SRC DEST
、rsync [OPTION]... [USER@]HOST::SRC DEST
、rsync [OPTION]... SRC [USER@]HOST::DEST
、rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
1)拷贝本地文件。(没用过,不知道效果怎样)
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。(如果没有做免密登录,每次都要输密码)
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。(如果没有做免密登录,每次都要输密码)
4)从远程rsync服务器中拷贝文件到本地机。(定期备份可以用这个)
5)从本地机器拷贝文件到远程rsync服务器中。(实时备份用这个)
6)列远程机的文件列表。(没用过)
2、一次性同步测试
rsync -av /root/test/ cjh@备份端IP::test --password-file=/etc/rsync.pas --bwlimit=
test是客户端定义的模块,/root/test2 是客户端的目录,密码文件跟服务端不同的是只需要填密码,--bwlimit是网速的限制,--delete是完全同步目录文件
实时同步
安装inotify-tools,下载的网站打不开,我就直接用yum方式安装
yum install -y inotify-tools
实时同步脚本(attrib指文件的属性,比如只读)
#!/bin/bash
host1=IP #备份服务器IP
src=/root/test/ #同步目录最好保持一致
dst1=test #模块名称
user1=cjh #用户名
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e create,modify,attrib $src \
| while read files
do
rsync -av $src $user1@$host1::$dst1 --password-file=/etc/rsync.pas --bwlimit=
echo "${files} was rsynced."
done
启动脚本
nohup sh run.sh > run.out & >& &
测试通过
注意点:
1、chmod 600 /etc/rsync.pas,两端都需要做这个操作
2、大文件的同步是很慢的,同步的时候卡住注意是不是文件太大了
3、上线前认真做好测试和普通方式的备份,以及尽量不要使用--delete,防止数据丢失
4、/etc/rsyncd.conf配置文件中一个注释都不能写,上面只是为了方便表达参数含义!
5、当文件数量超多的时候,同步会有一点延迟,大概是几分钟
转载请注明博客出处:http://www.cnblogs.com/cjh-notes/
centos文件实时同步inotify+rsync的更多相关文章
- 文件实时同步(rsync+inotify)
目标服务器:10.11.6.11 源服务器:10.11.6.12 准备条件: 1.关闭selinux: vi /etc/selinux/config #编辑防火墙配置文件 #SELINUX=enfor ...
- 实时同步inotify+rsync
目的,要求 nfs储存服务器与backup备份服务器,数据同步,万一nfs储存服务器挂了,数据还在 实时同步备份软件服务 1)inotify 实时同步软件 2)sersync 实时同步软件 实时同步原 ...
- CentOs文件实时同步
1,生成数据序
- Centos 6.5 rsync+inotify 两台服务器文件实时同步
rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...
- rsync+inotify 实现服务器之间目录文件实时同步(转)
软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...
- inotify用法简介及结合rsync实现主机间的文件实时同步
一.inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系 ...
- (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步
Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...
- rsync+inotify百万级文件实时同步
实验环境:Centos7.4 目的:将源服务器的文件实时同步至目标服务器 源服务器:10.11.1.107 目标服务器:10.11.1.106 分别在两个节点安装rsync yum -y instal ...
- rsync+sersync实现数据文件实时同步
一.简介 sersync是基于Inotify开发的,类似于Inotify-tools的工具: sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字: ...
随机推荐
- 树莓派USB存储设备自动挂载并通过脚本实现自动拷贝,自动播放视频,脚本自动升级等功能
需求:首先需要树莓派自动挂载USB设备,然后扫描USB指定目录下文件,将相关文件拷贝至树莓派指定目录,然后通过omxplayer循环播放新拷贝文件视频 1. 树莓派实现USB存储设备自动挂载 树莓派U ...
- 稀疏矩阵三元组快速转置(转poklau123写的很清楚)
关于稀疏矩阵的快速转置法,首先得明白其是通过对三元表进行转置.如果误以为是对矩阵进行转置,毫无疑问就算你想破脑袋也想不出个所以然,别陷入死胡同了! 对于一个三元表,行为i,列为j,值为v.需将其i与j ...
- loj 6043「雅礼集训 2017 Day7」蛐蛐国的修墙方案
loj 爆搜? 爆搜! 先分析一下,因为我们给出的是一个排列,然后让\(i\)给\(p_i\)连边,那么我们一定会得到若干个环,最后要使得所有点度数为1,也就是这些环有完备匹配,那么最后一定全是偶环. ...
- 关于redis的几件小事(四)redis的过期策略以及内存淘汰机制
1.数据为什么会过期? 首先,要明白redis是用来做数据缓存的,不是用来做数据存储的(当然也可以当数据库用),所以数据时候过期的,过期的数据就不见了,过期主要有两种情况, ①在设置缓存数据时制定了过 ...
- 原生js和css写虚拟键盘
代码来源忘记是哪个大神的了,抱歉抱歉 放上源码: <!-- 虚拟键盘 --> <!DOCTYPE html> <html> <head> <met ...
- 利用python3 调用zabbix接口完成批量加聚合图形(screens)
在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...
- Spark写入HBase(Bulk方式)
在使用Spark时经常需要把数据落入HBase中,如果使用普通的Java API,写入会速度很慢.还好Spark提供了Bulk写入方式的接口.那么Bulk写入与普通写入相比有什么优势呢? BulkLo ...
- busybox介绍
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件.BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件.这样的集合可以替代大部分常用工具比如的GNU fi ...
- NFS pv部署
一.部署nfs服务端: 可以选择kubernetes_cluster内的任意的node去做为nfs服务端,部署节点也可以.我选择的是部署节点去做为nfs服务端. (1)部署节点安装nfs服务软件包: ...
- Linux添加虚拟网卡的多种方法
Linux添加虚拟网卡的多种方法有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: ...