rsync配置和同步数据
rsync的搭建配置
1.环境和配置文件
rsyncd.conf(主配置文件)
rsyncd.secrets(密码文件)
pc1:192.168.0.1,rsync的服务器,配置rsyncd.conf文件,设置模块名字为test
pc2:192.168.0.200,rsync的客户端
2.源码安装省略和主配置文件
vim /etc/rsyncd.conf transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.log
lock file = /var/run/rsync.lock
port =
address = 192.168.0.1
uid = nobody
gid = nobody
use chroot = no
read only = yes
max connections =
[test]
path = /test
ignore errors
#exclude = test/
auth users = tom, jerry
secrets file = /etc/rysncd.secrets
hosts allow = 192.168.0.0/255.255.255.0
hosts deny=* 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
address = 192.168.0.230
#设置本服务器所监听网卡接口的ip地址
uid = nobody
#设置进行数据传输时所使用的帐户名或ID号,默认使用nobody
gid = nobody
#设置进行数据传输时所使用的组名或GID号,默认使用nobody
#rsync默认是在nobody用户下运行的,但是我们为了以后同步时不为各种权限的事情烦恼,就让其在root用户下运行
#若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。
#但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。
use chroot = no
read only = yes
#是否允许客户端上传数据,yes表示不允许
max connections =
#设置并发连接数,0表示无限制
[common]
#自定义模块名,rsync通过模块定义同步的目录,可定义多个
comment = web content
#定义注释说明字串
path = /common
#同步目录的真是路径通过path指定
ignore errors
#忽略一些IO错误
#exclude = test/
#exclude指定common目录下某个目录可以不同步数据
auth users = tom, jerry
#设置允许连接服务器的账户,此账户可以是系统中不存在的用户
secrets file = /etc/rysncd.secrets
#密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效
hosts allow = 192.168.0.0/255.255.255.0
#设置哪些主机可以同步数据,多ip和网段之间使用空格分隔
hosts deny=*
#除了hosts allow定义的主机外,拒绝其他所有
list = false
#客户端请求显示模块列表时,本模块名称是否显示,默认为true
三. 创建密码文件,防火墙设置,客户端和服务器端都要做如下操作
echo "tom:123" > /etc/rsyncd.secrets
echo "jerry:123" >> /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets
rsync --daemon
# --daemon表示后台执行,客户端开启rsync不需要--daemon选项。
#如果rsync的配置文件不在/etc目录下或者rsync配置文件名不为rsyncd.conf,
#那么我们在启动rsync服务时,就要手工加上该配置文件的完整路径。方法如下:
#rsync --daemon --config=/etc/rsyncd.conf
rsync --daemon --help
echo "/usr/bin/rsync --daemon" >> /etc/rc.local
#开机启动rsync服务
firewall-cmd --permanent --add-port=873/tcp
#添加防火墙规则,允许873端口的数据访问
四. 客户端同步数据
yum -y install rsync
rsync -vzrtopg --progress tom@192.168.0.230::test /xxx
#通test模块指定的/test目录下的文件拷贝到本客户端的/xxx目录下
参数说明 v:显示详细信息
z:传输过程中对数据进行压缩
r:递归
t:保留修改时间属性
o:保留文件所有者属性
p:保留文件权限属性
g:保留文件所属组属性
a:归档模式,主要保留文件属性,等同于-rlptgoD --progress:显示数据传输的进度信息
--password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600
--delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数
--list-only:仅列出服务器模块列表,需要rsync服务器设置list=true 取服务器的ip地址
ifconfig eth1|grep "inet addr"|awk '{print $2}'|cut -d: -f2
*****************rsync的使用**************
cat /etc/rsyncd.conf uid = root
gid = root
user chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log
[backup]
path = /backup/
ignore errors
read only = no
list = no
hosts allow = 192.168.0.200/255.255.255.0
auth users = test
secrets file = /etc/rsyncd.password
[www]
path = /www/
ignore errors
read only = no
list = no
hosts allow = 192.168.0.200/255.255.255.0
auth users = apache
secrets file = /etc/rsyncd.password rsync的七个命令格式:如下: )rsync [OPTION]... SRC [SRC]... DEST
)rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
)rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
)rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
)rsync [OPTION]... [USER@]HOST:SRC [DEST]
)rsync [OPTION]... [USER@]HOST::SRC [DEST]
)rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
这七个命令格式就是代表rsync六种不同的工作模式,其中第四种和第七种模式没有多大的区别。在这几种模式中第三种和第六种模式是我们经常使用的,特别是第三种模式。
这六种模式总体上可以用两个词进行区分:推送、拉取。
推送就是在客户端上执行rsync命令,目的是把客户端需要同步的文件推送到服务器上。
拉取也是在客户端上执行rsync命令,目的是把服务器上的文件拉取到本地。
注意:无论是推送和拉取,rsync命令都是在客户端执行,只是命令的格式不同而已。
服务端192.168.0.
客户端192.168.0. ) rsync [OPTION]... SRC [SRC]... DEST
同步本地文件,从一个目录同步到另外一个目录。如:rsync -avz /data /backup,表示把本地/data目录下的文件同步到本地/backup目录下。 ) rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
使用一个远程shell程序(如rsh、ssh)来实现把本地的文件同步到远程机器上。此种方式属于推送方式。如:rsync -avz /data test@192.168.199.247:/backup,
表示把本地/data目录下的文件同步到服务器192.168.199.247的/backup目录下。 3) rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
把本地的文件同步到远程服务器上,其中DEST表示的是rsync服务器的认证模块名。此种方式属于推送方式。如:
rsync -avz /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password,
表示把本地/data目录下的文件同步到服务器的backup模块下path路径下。
在客户端192.168.0.200运行该命令。
rsync -avz --delete --progress /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password ) rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
列出远程机器的文件列表。这类似于ls命令,不过只要在命令中省略掉本地机信息即可。如:
rsync -v rsync://test@192.168.199.247/backup,表示在本机列出服务器192.168.199.247的/backup目录下的内容,如下: ) rsync [OPTION]... [USER@]HOST:SRC [DEST]
把远程机器的文件同步到本地,此种方式属于拉取方式。如:
rsync -avz test@192.168.199.247:/backup /data,表示把192.168.199.247的/backup目录下文件同步到本地/data目录下。 6) rsync [OPTION]... [USER@]HOST::SRC [DEST]
把远程机器的文件同步到本地,此种方式属于拉取方式。如:
rsync -avz test@192.168.199.247::backup --password-file=/etc/rsyncd.password /data,
表示把192.168.199.247的backup模块path路径下的文件同步到本地/data目录下。
rsync配置和同步数据的更多相关文章
- 【转】CentOS5.6下配置rsync内网同步数据到外网
[转]CentOS5.6下配置rsync内网同步数据到外网 本文转自:http://www.linuxidc.com/Linux/2012-06/64070.htm 一.需求 卫士那边有一个需求,就是 ...
- 使用 Rsync 从 Windows 同步数据到 Linux
为什么要使用 rsync 从 Windows 到 linux 进行同步? 我们经常会面临这种的情况,项目使用 Windows 开发,最终部署在 Linux 上,但有时想要进行测试.维护.迭代版本时操作 ...
- rsync简介与rsync+inotify配置实时同步数据
rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- Rsync+inotify自动同步数据
一.简介 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足. 首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...
- 架设rsync服务器同步数据
什么是rsync rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服 务器,以实现文件传输.备 ...
- RSync实现文件备份同步
[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾 ...
- rsync配置
一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...
- rsync实现文件备份同步(比如服务器镜像)
[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾 ...
随机推荐
- SPOJ BALNUM Balanced Numbers 平衡数(数位DP,状压)
题意: 平衡树定义为“一个整数的某个数位若是奇数,则该奇数必定出现偶数次:偶数位则必须出现奇数次”,比如 222,数位为偶数2,共出现3次,是奇数次,所以合法.给一个区间[L,R],问有多少个平衡数? ...
- UVA 11925 Generating Permutations 生成排列 (序列)
题意:要用一个有序的序列生成给定序列,操作有两种,一是交换前两个元素,二是把第一个元素移动到最后去. 思路有两种: 1.映射,把给定序列映射成有序的序列,然后按照同样的替换规则把有序的序列映射掉,然后 ...
- Predicate Programming Guide
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/AdditionalChap ...
- phpmyadmin设置不密码,不登录直接进入
1.config.sample.inc.php改为config.inc.php 2.加入或更改代码: [php] $cfg['Servers'][$i]['auth_type'] = 'config' ...
- C-基础:形参char *&p与char *p
char* &p:以引用传递的方式传指针char* p: 以值传递的方式传指针
- java ArrayList remove
packimport java.util.ArrayList;import java.util.List; public class ArrayListRemove { public static v ...
- 头文件种的ifndef/define/endif 是干什么用的
头文件种的ifndef/define/endif 是干什么用的? 答:防止头文件被重复包含.
- Golang glog使用详解
golang/glog 是 C++ 版本 google/glog 的 Go 版本实现,基本实现了原生 glog 的日志格式.在 Kuberntes 中,glog 是默认日志库. glog 的使用与特性 ...
- string 空值
string str; string mystr = ""; 则 str == mystr;
- python特殊字符转义符号表示