linux下rsync文件同步配置详解

介绍

rsync(remote sync)是unix及类unix平台下的数据镜像备份软件,它不像FTP那样需要全备份,rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率

rsync主要分为三个配置文件,分别是rsyncd.conf(主配置文件),rsyncd.secrets(密码文件),rsyncd.motd(服务器信息文件)

?

环境

centos7

IP:192.168.10.130?? 作为rsync服务器

centos7

IP:192.168.10.132? 作为rsync客户端

?

服务端配置步骤

rsync在centos7中是默认安装好了的,我们直接开始修改配置文件。

# vim /etc/rsyncd.conf

主配置文件说明

vim /etc/rsyncd.conf

motd file = /etc/rsyncd.motd??? #设置服务器信息提示文件,在该文件中编写提示信息

transfer logging = yes??? #开启rsync数据传输日志功能

log file = /var/log/rsyncd.log??? #设置日志文件名,可通过log format参数设置日志格式

pid file = /var/run/rsyncd.log??? #设置rsync进程号保存文件名称

lock file = /var/run/rsync.lock??? #设置锁文件名称

port = 873??? #设置服务器监听的端口号,默认是873

address = 192.168.0.230??? #设置本服务器所监听网卡接口的ip地址

uid = nobody??? #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody

gid = nobody??? #设置进行数据传输时所使用的组名或GID号,默认使用nobody

#若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。

use chroot = no?

read only = yes??? #是否允许客户端上传数据,yes表示不允许

max connections =10??? #设置并发连接数,0表示无限制

[common]??? #自定义模块名,rsync通过模块定义同步的目录,可定义多个

comment = web content??? #定义注释说明字串

path = /common??? #同步目录的真是路径通过path指定

ignore errors??? #忽略一些IO错误

#exclude = test/??? #exclude指定common目录下某个目录可以不同步数据

auth users = zzz??? #设置允许连接服务器的账户,此账户可以是系统中不存在的用户

secrets file = /etc/rysncd_users.db??? #密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效

hosts allow = 192.168.0.0/255.255.255.0?? #设置哪些主机可以同步数据,多ip和网段之间使用空格分隔

hosts deny=*??? #除了hosts allow定义的主机外,拒绝其他所有

list = false??? #客户端请求显示模块列表时,本模块名称是否显示,默认为true

?

防火墙安全设置

#firewall-cmd --permanent --add-port=873/tcp??? #添加防火墙规则,允许873端口的数据访问

#setenforce 0

?

安装http服务

# yum install httpd –y

创建密码文件

#echo "zzz:123" > /etc/rsyncd_users.db

保证密码文件的安全

#chmod 600 /etc/rsyncd_users.db

?

开启服务

#rsync –daemon?? # --daemon表示后台执行,客户端开启rsync不需要--daemon选项

echo "/usr/bin/rsync --daemon" >> /etc/rc.local??? #开机启动rsync服务

?

客户端同步数据

yum -y install rsync

rsync -vzrtopg --progress [email protected]::wwwroot /test???? #通wwwroot模块指定的目录下的文件拷贝到本客户端的/test目录下

参数说明

v:显示详细信息

z:传输过程中对数据进行压缩

r:递归

t:保留修改时间属性

o:保留文件所有者属性

p:保留文件权限属性

g:保留文件所属组属性

a:归档模式,主要保留文件属性,等同于-rlptgoD

--progress:显示数据传输的进度信息

--password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600

--delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数

--list-only:仅列出服务器模块列表,需要rsync服务器设置list=true

原文地址:http://blog.51cto.com/13706064/2152373

时间: 2024-10-07 08:52:43

linux下rsync文件同步配置详解的相关文章

Linux下MongoDB安装和配置详解

一.创建MongoDB的安装路径 在/usr/local/  创建文件夹mongoDB mkdir mongoDB 二.上传文件到Linux上的/usr/local/source目录下 1. 我首先在mongoDB下载路径下载mongoDB下载对应的版本. 2.通过FTP工具将安装包上传到linux机器上面. 三.解压文件 1. 进入到/usr/local/source目录: cd /usr/local/source 2. 运行如下命令: tar -zxvf mongodb-linux-i686

【转】Linux 下搭建Postfix邮件服务器详解:

在我自己的服务器上面搭建了邮件服务器,为的是接下来写shell脚本进行报警监控.当服务器发生意外,可以及时发送邮件服务器到邮箱. 看了两个教程,按照两个教程来搭建的,感谢原作. Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3.修改DNS正解文件,使DNS能够解析邮箱服务 添加下面两行 mail.zhubf.com. IN A           

【转】Linux下Android ADB驱动安装详解

原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比较多,本人使用的Ubuntu系统好多厂商的Android手机都无法正确的识别,经过一番折腾,和查阅SDK,现把Linux下ADB驱动配置的方法和当中会遇到的相关问题的解决方法整理出来贡献给大家. Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的

Windows下安装Resin及配置详解与发布应用

关于Resin的好处,网上介绍了一大堆,小编经不住诱惑,决定试用一下.目前Resin的最新版本为:4.0.40,可以从官网直接下载. 1. 将下载下来的Resin包解压开,会看到一大堆的文件,有一些关键的文件,我们需要了解一下. resin-4.0.40 resin安装目录   --conf/resin.properties 配置属性   --conf/resin.xml 配置文件   --conf/licenses/ 许可信息文件   --conf/keys/ openSSL 秘钥   --w

[fw]Linux下tty/pty/pts/ptmx详解

基本概念: 1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适.终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. 2> pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty) 3> pts/ptm

libCURL开源库在VS2010环境下编译安装,配置详解

libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 CURL开源库VS2010环境下编译安装,配置详解 一 准备 1.1 CURL官网下载地址:http://curl.haxx.se/download.html 1.2 找到源码包,我这里下载的是7.32.0版:http://curl.haxx.se/download/curl-7.32.0.zip 二 步骤 2.1 打开curl-7.32.0\

Linux 下的dd命令使用详解

dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解     一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > 2. of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output file >

Mybatis中接口和对应的mapper文件位置配置详解

Mybatis中接口和对应的mapper文件位置配置详解 原链接为:https://blog.csdn.net/fanfanzk1314/article/details/71480954 今天遇到一个问题是mybatis中接口和对应的mapper文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下: 我们知道在典型的maven工程中,目录结构有:src/main/java和src/main/resources,前者是用来存放java源代码的,后者则是存放一些资源

Linux 下的dd命令使用详解(摘录)

一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > 2. of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output file > 3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节.