[CentOS 7系列]远程数据同步

Rsync命令是一个远程数据同步工具,可通过网络快速同步多台主机间的文件。它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,也可以做增量的拷贝。支持通过ssh方式来传输文件,这样其保密性会非常好。rsync备份主要分为三种方式,一是本地到本地的备份,二是本地到网络的备份,三是网络到本地的备份。

▎命令格式:

       Local:  rsync [OPTION...] SRC... [DEST]
##拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup

       Access via remote shell:
         Pull: rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [[email protected]]HOST:DEST
##使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
##使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src

       Access via rsync daemon:
         Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]
               rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]
         Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST
               rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST
##从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av [email protected]::www /databack
##从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack [email protected]::www

       Usages with just one SRC arg and no DEST arg will list the source files
       instead of copying.
##列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.78.192/www

▎常用选项:

选项 作用
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程

-l

保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩

测试示例:

本地到本地备份:
[[email protected] ~]# rsync -aP /tmp/bigfile /usr/local/
sending incremental file list
bigfile
   106070960 100%   30.24MB/s    0:00:03 (xfer#1, to-check=0/1)

sent 106083984 bytes  received 31 bytes  30309718.57 bytes/sec
total size is 106070960  speedup is 1.00

本地到网络备份:
[[email protected] ~]# rsync -av /tmp/bigfile 192.168.137.200:/tmp/ ##接收端也要安装rsync工具
bash: rsync: 未找到命令
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(605) [sender=3.0.9]
[[email protected] ~]# rsync -av /tmp/bigfile 192.168.137.200:/tmp/
sending incremental file list
bigfile

sent 106083984 bytes  received 31 bytes  7316138.97 bytes/sec
total size is 106070960  speedup is 1.00
[[email protected] ~]# ll /tmp/bigfile
-rw-r--r--. 1 root root 106070960 7月  20 09:34 /tmp/bigfile

[[email protected] tmp]# ll bigfile
-rw-r--r--. 1 root root 106070960 7月  20 09:34 bigfile     ##目标端查看信息完全一致

网络到本地备份:
[[email protected] ~]# rsync -av 192.168.137.200:/tmp/bigfile /
receiving incremental file list
bigfile

sent 30 bytes  received 106083989 bytes  6844130.26 bytes/sec
total size is 106070960  speedup is 1.00

▎通过ssh方式同步:

[[email protected] ~]# rsync -av /tmp/ 192.168.137.200:/tmp/
sending incremental file list
./
bigfile
py.py
yum_save_tx.2017-07-20.09-37.LxNivf.yumtx

sent 106085634 bytes  received 77 bytes  7858200.81 bytes/sec
total size is 106072339  speedup is 1.00
[[email protected] ~]# rsync -av -e "ssh -p 22" /tmp/bigfile 192.168.137.200:/tmp/
sending incremental file list

sent 33 bytes  received 12 bytes  3.91 bytes/sec
total size is 106070960  speedup is 2357132.44

▎通过服务的方式同步:

①编辑配置文件/etc/rsyncd.conf

[[email protected] ~]# cat /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 = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]
#        path = /home/ftp
#        comment = ftp export area
port=873
log file=/var/log/rsync/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.137.100
[test]
path=/root/rsync
use chroot=true
max connections=4   ##最大连接数,默认为0,表示无限制
read only=no        ##如果为true,则不能上传到该模块指定路径下
list=true           ##用户是否可以查询该可用模块
uid=root            ##传输时使用的UID
gid=root
auth users=test     ##传输时使用的用户名
secrets file=/etc/rsyncd.passwd  ##密码文件,不设置表示不使用。密码文件权限为600。
hosts allow=192.168.137.200 1.1.1.1 2.2.2.2 ##被允许连接该模块的主机

注:密码文件格式:用户名:密码

②启动服务rsync --daemon

[[email protected] ~]#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
                                                            ##config参数指定配置文件

如果需要关闭,可以kill进程。

③客户端配置

Linux采用自带rsync,Windows采用cwRsync(client)端。

Linux系统中,可以手动执行,也可以执行脚本中的rsync。

▽命令格式参考:

[[email protected] tmp]# rsync -av --progress [email protected]::backup ./test/
时间: 2024-10-06 05:28:54

[CentOS 7系列]远程数据同步的相关文章

rsync也可以远程数据同步

rsync简介 rsync(rem ote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件.也可以使用 rsync 同步本地硬盘中的不同目录. rsync是用于替代rcp的一个工具,rsync 使用所谓的 rsync算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度非常快. rsync支持大多数的类 Unix 系统,无论是 Linux.Solaris 还是 BSD上 都经过了良好的测试. CentOS系统默认就安

Linux的rsync远程数据同步工具

Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件. rsync的好处是只同步两个文件不同的部分,相同的部分不在传递.类似于增量备份, 这使的在服务器传递备份文件或者同步文件,比起scp工具要省好多时间. OS:ubuntu server 10.04 server:192.168.64.128 client:192.168.64.145 server 1.ubuntu  server 10.04默认已安装r

本地远程数据同步之rsync

一.简介 rsync一款开源的,快速的,多功能可实现全量及增量的本地或者远程数据同步备份的优秀工具可适用于多个操作系统之上,rsync具有可以使本地和远程两台主机之间的数据快速的同步和备份的用能. 二.工作模式及其特性  1.rsync特性   支持拷贝特殊文件如链接文件设备等 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能 --exclude 可以实现增量同步,即只同步发生变化的数据,因此效率很高 实时备份和定时备份   2.rsync命令的工作模式: 1)shell模式,

rsync远程数据同步工具应用

一直觉得rsync这个命令复杂不好用,一直在排斥这个工具,抱怨rsync功能简单又复杂难用,这些都不是rsync的问题,只是我不愿意去man这个工具的的帮助文档,其实rsync这个工具也没有想象中那么复杂难用:rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. rsync是一个功能非常强大的工具,其命令

linux之rsync远程数据同步备份

rsync服务是一种高效的远程数据备份的工具,该服务的port号为873, 是Liunx下的一种非独立服务.由xinetd超级服务管理,取代监听873port. 长处: 1.rsync能够利用ssh和ssl远程控制进行连接远程主机进行备份.依赖sshd服务 2,能够实现增量备份,在第一次建立连接时进行完整备份,以后仅仅同步变化的数据 3.能够使用自己的socket来进行同步.能够在服务端设置password限制訪问. 缺点:不能进行实时同步,须要安装lsyncd工具来辅助进行实时同步. 配置步骤

Windows远程数据同步工具cwRsync

1. cwRsync简介 cwRsync是Rsync在Windows上的实现版本,Rsync通过使用特定算法的文件传输技术,可以在网络上传输只修改了的文件. cwRsync主要用于Windows上的远程文件同步备份和同步,它包含Cygwin DLL和适用Cygwin版本的Rsync两部分. cwRsync分为Server和Client,本文使用的版本为4.1.0,下载地址如下: cwRsyncServer v4.1.0:http://pan.baidu.com/s/1eQpaIVw cwRsyn

rsync 远程数据同步工具详解

rysnc 命令用法:(OPTION-参数,USER-用户,HOST-IP地址,SRC-复制源位置,DEST-复制目标位置)Shell拉:rsync [OPTION] [[email protected]]HOST:SRC [DEST]rsync拉:rsync [OPTION] [[email protected]]HOST::[MODULE] [DEST]Shell推:rsync [OPTION] SRC [[email protected]]HOST:DESTrsync推:rsync [OP

Centos rsync+inotify 实现数据同步备份

最近公司做了一??分布式,便于管理安装了 server: 192.168.2.29 client: 192.168.2.230 先来配置client 安装就不介绍了 [[email protected]-tracker-230 rsync]# ll total 16 drwxr-xr-x. 2 root root 4096 Nov 13 04:23 bin -rw-r--r--. 1 root root 405 Nov 14 01:19 rsyncd.conf -rw-------. 1 roo

利用rsync进行数据同步

Rsync简介 rsync是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件.它使用所谓的"rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行rsync server的机器也叫backup server,一个rsync server可同时备份多个client的数据:也可以多个rsync server备份一个client的数据.rsync可以搭配ssh