远程同步命令-rsync

作用和介绍:
rsync 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

  • rsync功能:
    作为命令,实现本地-远程文件同步
    作为服务,实现本地-远程文件同步
  • rsync特点:
    可以镜像保存整个目录树和文件系统
    可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等
    传输效率高,使用同步算法,只比较变化的
    支持匿名传输,方便网站镜像;也可以做验证,加强安全
  • rsync同类服务:
    sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
    async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
    rsync 远程同步:remote synchronous

    rsync格式

    rsync [OPTION] … SRC   DEST
    rsync [OPTION] … SRC   [[email protected]]host:DEST
    rsync [OPTION] … [[email protected]]host:SRC   DEST
    rsync [OPTION] … SRC   [[email protected]]host::DEST
    rsync [OPTION] … [[email protected]]host::SRC   DEST

rsync常用选项

-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩

实例操作

// 本地同步:
    rsync -av /etc/passwd /tmp/1.txt
// 远程同步:
    rsync -av /tmp/1.txt 192.168.36.131:/tmp/2.txt 

rsync通过ssh方式同步

// 推送文件
// 方式1:
rsync /etc/passwd 192.168.36.131:/tmp/cc.txt
// 方式2:
rsync -av /etc/passwd 192.168.36.131:/tmp/cc.txt

// 拉取文件:
rsync -av /etc/passwd 192.168.36.131:/tmp/cc.txt
rsync -avP 192.168.36.131:/tmp/cc.txt /tmp/123.txt

// 指定端口
rsync -avp -e "ssh -p 22" /etc/passwd 192.168.36.131:/tmp/cc.txt

rsync 通过服务的方式同步

  • 配置:

    1.编辑配置文件/etc/rsyncd.conf
    2.启动服务rsync --daemon
    3.格式:rsync -av test1/ [email protected]::test/
  • 配置样例:
    port=873
    log file=/var/log/rsync.log
    pid file=/var/run/rsyncd.pid
    address=192.168.36.130
    [test]
    path=/tmp/rsync
    use chroot=true
    max connections=4
    read only=no
    list=true
    uid=root
    gid=root
    auth users=test
    secrets file=/etc/rsyncd.passwd
    hosts allow=192.168.36.131 (多个ip以空格隔开,也可以写ip段:192.168.36.0/24)
  • rsyncd.conf配置文件详解
    port:指定在哪个端口启动rsyncd服务,默认是873端口。
    log file:指定日志文件。
    pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
    address:指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。
    []:指定模块名,里面内容自定义。
    path:指定数据存放的路径。
    use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,阿铭建议你设置成false。
    max connections:指定最大的连接数,默认是0,即没有限制。
    read only ture|false:如果为true,则不能上传到该模块指定的路径下。
    list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。
    uid/gid:指定传输文件时以哪个用户/组的身份传输。
    auth users:指定传输时要使用的用户名。
    secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码
    hosts allow:表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。
    当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件
    rsync -avL [email protected]::test/test1/  /tmp/test8/ --password-file=/etc/pass
    其中/etc/pass内容就是一个密码,权限要改为600
  • 自定义操作
    //把端口改了之后需要使用--port 指定端口
    netstat -tlunp
    //【客服端】配置密码文件可不用输入密码
    rsync -avp /tmp/test --port=8730 --password-file=/etc/rsync_pass.txt [email protected]::test/
    cat /etc/rsync_pass.txt
    a123456

原文地址:https://blog.51cto.com/3168834/2374393

时间: 2024-11-13 20:46:52

远程同步命令-rsync的相关文章

rsync远程同步及rsync+inotify实时同步

rsync远程同步及rsync+inotify实时同步 思维代入 正确.有效的备份方案是保障系统及数据安全的重要手段.在服务器中,通常会结合计划性任务.shell脚本来执行本地备份.但有时候为了提高备份的可靠性,异地备份也是非常有必要的.那下面就给大家介绍一种异地远程备份的方法:rsync远程备份. rsync简介 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份.保持链接和权限,且采用优化的同步算法,在传输前执行压缩,因此非常适用于异地备份.镜像服务等应用

Linux 远程同步:rsync

一.rsync 简介 (1) rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件(2) rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快(3) rsync 可以实现增量同步文件,也可以实现全量同步文件:可以实现本地同步文件,也可以实现远程同步文件 rsync -av /etc/passwd /tmp/1.txt # 本地同步,表示把/etc/passwd文件同

linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. [plain] view plain copy ##登录 ssh [email protected]_or_ip ##执行远程命令 ss

linux rsync远程同步+sersync+rsync实现实时同步

rsync是什么 rsync全称Remote Sync ,远程同步,是Linux/UNIX系统下的文件同步和数据传输工具,数据备份,它采用了"rsync算法"使一个客户机和远程文件服务器之间的文件同步. 作用 可以将同一个服务器的数据从一个分区备份到另一个分区,也可以将本地系统的数据通过网络传输方式备份到任何一个远程主机上: 优点 rsync可以在中断后恢复传输 rsync的功能特性 可以镜像保存整个目录树和文件系统:可以增量同步数据,文件传输效率高,因而同步时间很短:可以保持原文件的

git 远程同步命令

这是上回聪哥给我指导的操作指令,记录之. github工程上传操作简单说明. 1.  git  init 创建新仓库或重新初始化 2. git add . 添加当前路径文件内容到索引 3. git   commit  -m  "说明描述" 在库中记录更改说明. 4. git remote add origin http://github/kintzhao/ar_localization.git                //远程位置 Git要求每个远程主机都必须指定一个主机名.gi

linux中的备份神器rsync实现远程同步

一.rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份.镜像服务器等应用,作为一种最常用的文件备份工具,rsync往往是Linux和UNIX系统默认安装的基本组件之一. rsync的官方站点:http://rsync.samba.org rsync是一款快速增量备份工具,支持: (1)本地复制:(2)与其他SSH同步:(3)与rsy

rsync远程同步备份工具

rsync远程同步介绍 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,切采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync官方站点是http://rsync.samba.org/,由Wayne Davsion进行维护.作为一种常用的备份工具,rsync往往是Linux和Unix系统默认安装的基本组件之一. 在远程同步任务中,负责发起rsync同步操作的客户机称为发

线上服务器应用--文件同步方案Rsync+sersync

前言: 需求:3台服务器,其中1主2备,实现主服务器实时推送文件至2台备份服务器 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录. 二.Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1.Rsyn

Rsync(远程同步): inux中Rsync命令的实际示例

rsync的 ( 远程同步 )为在Linux / Unix系统局部 拷贝和同步文件和目录远程以及一个最常用的命令. 随着rsync命令的帮助,您可以复制并在目录中远程和本地同步数据,在磁盘和网络,进行数据备份和两台Linux机器之间的镜像. Rsync本地和远程文件同步 本文介绍rsync命令的10个基本和高级的用法在基于Linux的机器远程和本地传输文件. 你并不需要以root用户运行rsync命令. Rsync命令的一些优点和功能 它有效地将文件复制到远程系统或从远程系统同步. 支持复制链接