rsync同步数据

1. rsync 命令格式
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [[email protected]]HOST:DEST
rsync [OPTION]... [[email protected]]HOST:SRC DEST
rsync [OPTION]... [[email protected]]HOST::SRC DEST
rsync [OPTION]... SRC [[email protected]]HOST::DEST

2. rsync常用选项
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一个 --no-OPTION 这个表示关闭-rlptgoD中的某一个例如-a--no-l 等同于-rptgoD
-r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项
-v 打印一些信息出来,比如速率,文件数量等,P也是,比较详细
-l 保留软链结
-L 向对待常规文件一样处理软链接,如果是SRC中有软链接文件,则加上该选项后将会把软链接指向的目标文件拷贝到DST
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
--delete 删除那些目标文件中源文件中没有的文件
--exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
--progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等
-u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
最常用的 -a -v --delete --exclude
-z 压缩

3. rsync选项讲解
rsync -av dir1/ dir2/ # 其中dir2/目录可以不存在,记得同步目录时一定要在末尾加上/

-a 会把软连接原原本本的拷贝过去,那有时候我们想拷贝源文件怎么办?就时候就用到一个 -L
rsync -avL test1/ test2/

-u 选项的作用是,如果目标文件比源文件新,那么会忽略掉该文件
touch test2/1.txt; rsync -avu test1/ test2/

rsync -av --delete test1/ test2/ #这样会把test2/目录比test1/目录多出来的文件删除掉

rsync -a --exclude=“2.txt” test1/ test2/ #在同步的过程中,会忽略掉2.txt这个文件,就是不更新他

rsync -a --progress --exclude=“*.txt” test1/ test2/ #--progress 显示同步过程的详细信息,--exclude后面也可以使用通配符*

4. rsync应用实例 - ssh方式
rsync -avzLP aaa/ 192.168.0.101:/tmp/aaa/ 本地--》远程
rsync -avzLP 192.168.0.101:/tmp/aaa/ aaa/ 远程--》本地
=======================================
rsync -avzLP -e "ssh -p 8093"192.168.0.101:/tmp/aaa/ aaa/ 指定他的远程端口

rsync -avL test1/ [email protected]:/tmp/test2/
rsync -avL 192.168.0.101:/tmp/test2/ ./test3/

由于需要输入密码所以不适合写到脚本中,但可以通过创建秘钥对,让两台机器产生信任关系从而不用输入密码
如果ssh端口不是22,那么需要写成这样的形式:
rsync -av "--rsh=ssh -p 8093” /dir1/ 192.168.0.101:/tmp/dir2/

==========================
5. rsync应用实例 - 后台服务方式(指定其他客户端访问我指定的目录)
配置文件 /etc/rsyncd.conf ,内容如下:
#port=873 #监听端口默认为873,也可以是别的端口
port=8730
log file=/var/log/rsync.log #指定日志
pid file=/var/run/rsyncd.pid #指定pid
#address=192.168.0.10 #可以定义绑定的ip
以上部分为全局配置部分,以下为模块内的设置
[test] #为模块名,自定义
path=/tmp/test # 指定该模块对应在哪个目录下
use chroot=true #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,也可以使用yes,no
max connections=4 # 指定最大可以连接的客户端数
read only=no #是否为只读
list=true #是否可以列出模块名,rsync --port 8730 [email protected]::
uid=root #以哪个用户的身份来传输
gid=root #以哪个组的身份来传输
auth users=test1 #指定验证用户名,可以不设置
secrets file=/etc/rsyncd.passwd #指定密码文件,如果设定验证用户,这一项必须设置
hosts allow=192.168.0.0/24 #设置可以允许访问的主机,可以是网段或一个多个ip

密码文件/etc/rsyncd.passwd的内容格式为:username:password
启动服务的命令是:rsync --daemon
netstat -lnp 看服务端口
ps aux |grep rsync 看服务
cat /var/log/rsync.log

mkdir /tmp/test
touch /tmp/test/1.txt
echo "sdlfjlsjfl" > !$

rsync -avLzP [email protected]::test/ /tmp/223/ test1验证用户名;test 是模块名,如果test下还有目录就要指定

rsync -avLzP --port 8730 [email protected]::test/ /tmp/223/ 把服务端的1.txt同步到客户机了

rsync -avLzP --port 8730 /etc/passwd [email protected]::test/ 把客户机的文件推到服务端了
==============================

默认去使用/etc/rsyncd.conf这个配置文件,也可以指定配置文件 rsync --daemon --config=/etc/rsyncd2.conf
可使用的选项有: rsync --daemon --help
几个测试点:port, use chroot, log file, secrets file, hosts allow, list

在客户端设置一个密码文件
rsync --help |grep pass 找到那个文件使用方法
vim /etc/rsync.pa
123456
chmod 600 !$

rsync -avLzP --port 8730 --password-file=/etc/rsync.pa [email protected]::test/ /tmp/223/

时间: 2024-11-05 11:27:29

rsync同步数据的相关文章

配置rsync 同步数据 rpm包安装rsync及配置

[[email protected] home]# rpm -qa |grep rsync #检查系统是否安装了rsync软件包rsync-2.6.8-3.1[[email protected] CentOS]# rpm -ivh rsync-2.6.8-3.1.i386.rpm # 如果没有安装则手动安装 [[email protected] rsync-3.0.4]# vim /etc/xinetd.d/rsync 1 配置rsync servervi /etc/xinetd.d/rsync

Windows 之间用rsync同步数据(cwRsyncServer配置)

rsync是一款优秀的数据同步软件,在跨服务器,跨机房,跨国备份服务器的首选工具,下面就来介绍下如何配置安装cwRsyncServer很大多数软件一样是B/C架构,cwRsyncServer是rsync的windows版本 一,下载官方下载地址:官方网站:http://rsync.samba.org/download.html下载地址:http://sourceforge.net/projects/sereds/files/cwRsync/4.1.0/ 服务器版为: <ignore_js_op>

Linux运维: Rsync同步数据(ubuntu16.04+windows10)

rsync同步数据 -环境:Linux (ubuntu16.04) + windows10 Linux: 安装 sudo apt-get install rsync rsync --version 查看是否已安装, 并查看版本 配置 主要三个配置文件. 默认不存在(/etc/..) ① rsyncd.conf ② rsyncd.secrets ③ rsyncd.motd (rsync服务器信息) 2.1 创建配置文件 cd /etc mkdir rsyncd vi rsyncd.conf rsy

在windows上搭建Rsync同步数据

1.搭建目的 Rsync是一个很受欢迎的数据同步工具,它主要实现数据从一台服务器同步到另一台上,以下是我搭建Rsync的过程. 2.Rsync服务端搭建 首先下载cwRsyncServer(百度就有),我在这儿使用的是4.0.5的版本. 2.1点击安装至此页面,在这儿我使用默认的路径,然后下一步. 2.2这儿可以输入你想要的用户名和密码(我的使用RsyncTest/password),系统也会相应的创建此用户,你可以在安装完成后到用户管理中查看. 2.3在服务列表中找到RsyncServer设置

rsync同步数据配置

安装yum install rsync 客户端和服务端一下操作1.关闭SELINUXvi /etc/selinux/config #编辑防火墙配置文件#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加 setenforce 0 #立即生效 2.开启防火墙tcp 873端口(Rsync默认端口)或者是关闭防火墙.vi /etc/sysconfig/iptables #编辑防火墙配置文件-A RH-Firewal

使用rsync同步数据(by quqi99)

作者:张华  发表于:2015-12-28版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 急需使用rsync在家里的多台机器上同步相片. sudo apt-get  install  rsyncsudo update-rc.d -f rsync removesudo update-rc.d rsync start 20 2 3 4 5 . stop 20 0 1 6 .sudo update-

centos下rsync同步数据

1. 安装rsync yum -y installrsync 2. 无密码命令行同步 客户端操作 ssh-keygen -trsa ssh-copy-id -i /root/.ssh/[email protected] ssh [email protected] mkdir -pv/data/shell rsync -az--delete [email protected]:/data/rsyncdata/ /data/shell/ 3. 用密码服务方式同步 由于rsync属于xinetd的服务

十八、Rsync 远程同步数据

在linux系统下数据备份的工具.Rsync不仅可以远程同步数据(类似于scp [1]),当然还可以本地同步数据(类似于cp),但不同于cp或scp的一点是,rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉.如果你的linux没有rsync命令请使用 yum install -y rsync 安装. 下面阿铭先举一个例子,然后再详细讲解rsync的用法: [[email protected] ~]#

rsync + inotify数据同步

rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可以解决对实时性要求不是很高的数据备份需求.如果实时性高的情况下,就会体现出他的不足,虽然可以利用任务计划来触发同步,但还是有一定的时间差,并且 rsync 在同步数据的时候,要遍历整个目录树后进行比对,文件数量达到一定量级的情况下,这是很低效的做法.所以就有了今天的 rsync + inofity . inotify 是一种强大的.细粒度的.异步文件系统时间监控机制,Linux 内核从 2.6.13 起,加入了对inot