rsync服务的搭建和使用

***下载安装:

#wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz

#tar -zxvf rsync-3.1.2.tar.gz

#cd rsync-3.1.2

#./configure --prefix=/usr/local/rsync

#make

#make install

第一步:修改rsyncd的配置文件,增加测试目录test
#vim /etc/rsyncd.conf
uid = www-data
gid = www-data
use chroot = yes  #启用chroot,处理软链接源文件不被同步的/rsyncd-munged问题
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[test_code]
path = /data/www/html
comment = web resources
read only = no
strict modes = yes
refuse options = delete
auth users = test
secrets file = /etc/rsyncd_auto_rsync_users
hosts allow = xxx.xxx.xxx.xxx
post-xfer exec = /data/sa/reload_nginx.sh  //指定同步完成之后触发执行的脚本

[test]
path = /data/test
max connections = 5  //最大连接数
comment = test
read only = no
strict modes = yes
refuse options = delete  //拒绝删除操作
auth users = test
secrets file = /etc/rsyncd_auto_rsync_users
hosts allow = xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
transfer logging = yes
log format = %t %o %a %m %u %f %l %b
log file = /var/log/rsyncd_test.log
post-xfer exec = /data/sa/reload_nginx.sh

第二步:修改rsync密码文件,添加pic_test模块的用户和密码
root@localhost:/data/sa# cat /etc/rsyncd_auto_rsync_users
test:xxxxxxxxxxxxxx
test1:xxxxx

第三步:
重启rsyncd服务
/usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf --port=873 &

命令同步示例:

从rsync服务器同步test_code模块文件到本地,除/home/huangjie1/pass_id.list目录以外的文件:
rsync -avuzt --exclude-from '/home/huangjie1/pass_id.list' test@rsync_ip::test_code/* /data/www/html/

同步文件时备份参数的使用示例:

1)同步文件,直接加参数-b,会在目标主机的模块目录下备份文件:1.txt~
# rsync -atzvb 1.txt user@xxx.xxx.xxx.xxx::xxx/
2)同步文件,加上--suffix参数指定时间后缀,会在目标主机的模块目录下备份文件:1.txt20180729
# rsync -atzvb --suffix=`date +%Y%m%d` 1.txt user@xxx.xxx.xxx.xxx::xxx/
3)同步目录,只会在目标主机的模块目录下备份修改过的文件
# rsync -atzvb --suffix=`date +%Y%m%d` test123/ user@xxx.xxx.xxx.xxx::xxx/test123
4)同步目录,加上--backup-dir参数,会在目标主机的模块目录下test123目录下创建test123_bak备份目录,只备份修改过的文件,即同步的文件
# rsync -atzvb --suffix=`date +%Y%m%d` --backup-dir=test123_bak test123/ user@xxx.xxx.xxx.xxx::xxx/test123
5)同步目录,加上--backup-dir参数,会在目标主机的模块目录下创建test123_bak备份test123目录,只备份修改过的文件,即同步的文件(注意与上一个的不同,多了一个“/”)
# rsync -atzvb --suffix=`date +%Y%m%d` --backup-dir=/test123_bak test123/ user@xxx.xxx.xxx.xxx::xxx/test123
6)修改sersync的xml配置文件commonParams参数为: <commonParams params="-artuzb --backup-dir=/backup/bak_`date +%Y%m%d%H%M%S` --suffix=`date +%Y%m%d%H%M%S`"/>,原来只有-artuz,会在目标主机的模块目录下创建backuup目录备份test123目录,只备份修改过的文件。(注意:--backup-dir指定的目录在双向同步时要用动态目录,即每次目录不一样,否则会有问题,导致第一次备份成功,以后的备份都会在同一个目录下重复创建一样的目录;单向同步是没有这个问题)

扩展:一般和sersync,lrsync,inotify-tools等工具实现自动发现实时同步文件或者双向同步,各有优缺点,可自行查阅资料了解。

lsync配置实例:

settings {
logfile = "/var/log/lsyncd_to_sites_bak.log",
nodaemon = true,
statusInterval = 10,
inotifyMode = "CloseWrite or Modify",
maxProcesses = 10
}

sync {
default.rsync,
source = "/usr/local/nginx/conf/sites/",
target = "sites@ip1::sites",
-- or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
excludeFrom = "/etc/lsyncd/exclude.conf",
delete = true,
rsync = {
archive = true,
compress = true,
_extra = {"--password-file=/etc/lsyncd/rsyncd_to_sites.passwd","--port=873","--numeric-ids", "--bwlimit=10000"},
}

}
sync {
default.rsync,
source = "/usr/local/nginx/conf/sites/",
target = "sites@ip2::sites",
-- or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
excludeFrom = "/etc/lsyncd/exclude.conf",
delete = true,
rsync = {
archive = true,
compress = true,
_extra = {"--password-file=/etc/lsyncd/rsyncd_to_sites.passwd","--port=873","--numeric-ids", "--bwlimit=10000"},
}

}

启动:

lsyncd --nodaemon /etc/lsyncd/lsyncd_to_sites.conf &

[原创]Rsync搭建和使用的更多相关文章

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

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

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

    前言 我公司是电子商务公司,全部是linux系统,每天的网站数都在增加,为了保证安全,需要建立一个远程容灾系统,将网站数据每天凌晨1点备份到远程服务器上,由于数据量大,每天进行进行增量备份,仅仅备份当 ...

  3. 【原创】搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群

    为什么移除首页?哪里不符合要求?倒是回我邮件啊! 一.环境搭建 Linux下Vagrant搭建Tomcat7.Java7 二.Nginx的安装配置与测试 *虚拟机下转至root sudo -i 1)下 ...

  4. 如何使用RSYNC搭建备份服务器

    1. RSYNC介绍 RSYNC是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 远程数 ...

  5. [原创]nagios搭建配置

    nagios搭建配置 一.环境 ubuntu 14.04系统 host1:172.17.0.2 serverhost2:172.17.0.3 client 二.安装 1.在两个主机上都执行一下命令: ...

  6. rsync搭建

    服务器: 查看是否安装:rpm -qa rsync 未安装则:yum install -y rsync 添加rsync用户 useradd -s /sbin/nologin -M rsync 编辑/e ...

  7. Rsync+inotify搭建使用

    ## Rsync搭建 ### 1.1 环境准备 ``` Rsync-Server 192.168.1.174 Client-Rsync 192.168.1.173 服务启动用户都是root,客户端的用 ...

  8. Git版本控制,rsync同步文件,完成线上部署

    之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyun  ecs  做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的 ...

  9. LVS-NAT搭建HTTP及HTTPS

    author:JevonWei 版权声明:原创作品 搭建NAT模式的HTTP环境 网络拓扑图如下 网络环境 RS1 192.168.198.138 RS2 192.168.198.120 LVS: D ...

随机推荐

  1. select ,update 加锁

    最近我在弄一个项目,其中涉及到了数据批量导入数据库的过程,在导入数据的时候,每一条数据会生成一个唯一标识,但是我发现有些数据的标识重复了.我在网上查了一下说这是“数据库 并发性”的问题解决方案,上锁. ...

  2. UWP入门(八)--几个简单的控件

    原文:UWP入门(八)--几个简单的控件 每天看几个,要不聊几天我就可以看完啦,加油! 看效果 1. CheckBox <TextBlock Grid.Row="0" Tex ...

  3. SQLite的使用(包括编译安装的步骤)

    SQLite官网http://www.sqlite.org/ SQLite简介 SQLite是一款轻型的数据库,是遵守ACID(原子性.一致性.隔离性和持久性)的关系式数据库管理系统.SQLite实现 ...

  4. java-mysql(3) 读写image

    在mysql里面用来存储图片有一个特殊的数据对象叫做 Blob(Binary Large Object). 数据库里面插入一张图片: 第一步:需要为图片创建一个文件对象 File img = new ...

  5. web的seo

    摘要:搜索引擎优化是一种具有很高技术性的活动,也是一种营销功能,必须将它作为营销活动处理.SEO从业者必须理解公司的服务.产品.总体业务战略.竞争形势.品牌.未来网站开发目标和相关的业务构成. SEO ...

  6. Libra 加密稳定币:Facebook的"野心"?

    2008年11月1日,有一个传说叫中本聪的日裔美国人,发表了一篇名为<比特币:一种点对点式的电子现金系统>的论文.2009年,比特币出世,从此开启了电子货币这个收割机器,全世界的韭菜都是一 ...

  7. 解决Linux和Windos不同步的问题

    两种方式: 一:在windos上进行操作      (1).cmd中输入如下命令      Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZone ...

  8. java中静态类与普通类之间区别

    所谓静态,指以static关键字修饰的,包括类,方法,块,字段. 非静态,指没有用static 修饰的. 一.静态类的特点 1.全局唯一,任何一次的修改都是全局性的影响 2.只加载一次,优先于非静态 ...

  9. 程序代写, CS代写, 代码代写, CS编程代写, java代写, python代写, c++/c代写, R代写, 算法代写, web代写

    互联网一线工程师程序代写 微信联系 当天完成 查看大牛简介特色: 学霸代写,按时交付,保证原创,7*24在线服务,可加急.用心代写/辅导/帮助客户CS作业. 客户反馈与评价 服务质量:保证honor ...

  10. Tido 习题-二叉树-区间查询

    题目描述 食堂有N个打饭窗口,现在正到了午饭时间,每个窗口都排了很多的学生,而且每个窗口排队的人数在不断的变化.现在问你第i个窗口到第j个窗口一共有多少人在排队? 输入 输入的第一行是一个整数T,表示 ...