天涯共此良辰时

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Rsync应用详解

一、什么是Rsync

  Rsync(Remote synchronization)是一款开源实用的传输工具、可实现全量以及增量的数据备份。

二、Rsync特点

  可以将整个目录或者文件系统进行镜像

  可以保存源文件的所有属性

  优化了备份方式,效率高

  可以使用rssh或者ssh以及socket传输数据

  支持匿名传输

 

三、Rsync应用场景

  定时备份:crond + rsync

  实时备份:inotify(sersync)+rsync

三、Rsync具体应用

    应用一:本地模式(不常用)

  1)本地数据文件拷贝(cp)

    rsync backup.txt /tmp    # 将backup.txt文件拷贝到tmp目录下

  2)远程数据文件拷贝(scp)

      scp -rp /root/backup.txt root@172.168.0.31:/root    # 将本地backup.txt文件拷贝到172.168.0.31远程主机root目录下(root用户)

    -r  # 表示递归复制文件数据

    -p  # 表示文件传输中属性不变

     备注:

     scp命令在指定目录的时候无论后面是否有/都是将整个文件夹进行远程拷贝

     缺点:需要输入远程主机的登陆密码

   

    rsync -rp /root/bankup.txt root@172.168.0.31:/root    # 将本地backup.txt文件拷贝到172.168.0.31远程主机root目录下(root用户)

    备注:

     rsync命令在备份目录的时候注意目录是否有/;若有/表示仅备份目录里面的内容;若没有/表示备份整个目录

    缺点:需要输入远程主机的登陆密码

  3)远程删除文件(rm)

     第一步:本地创建一个空目录 mkdir /zero

        第二步:远程同步文件夹

      rsync -rp -delete /zero/ root@192.168.0.31:/root/test/    # 清空远程主机192.168.0.31中test文件夹内容

  4)查看文件内容(ls)  

      [root@backup ~]# rsync backup.txt
      -rw-r--r-- 12 2020/08/25 22:19:39 backup.txt

应用二:远程shell模式(不常用)

Access via remote shell:

Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

备份服务器 <- 存储服务器(拉)

[root@backup ~]# rsync -rp root@172.16.1.31:/root/Hello.py /root    # 将远程存储服务器的数据拉到本地备份服务

备份服务器 -> 存储服务器(推)

[root@nfs ~]# rsync -rp Hello.py root@172.16.1.41:/root  # 将本地存储服务器的数据推送给备份服务器

 

备注:前两种应用因为数据的传输需要输入密码而不常用

应用三:守护进程模式

  1)守护进程语法

Access via rsync daemon:


Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
  rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
  rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

解释:

SRC - 源文件的位置

DEST - 目标文件的位置

USER@ - 登陆用户的身份,如果一致即可省略

HOST - 主机名或者IP地址

2)配置文件

# /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
#uid = rsync
#gid = rsync
#port = 873
##fake super = no
#use chroot = no
#max connections = 200
#timeout = 300
#pid file = /var/run/rsyncd.pid
#lock file = /var/run/rsync.lock
#log file = /var/run/rsyncd.log
#ignore errors
#read only = false
#list = false
#hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32
#auth users = rsync_backup
#secrets file = /etc/rsync.password
#[backup]
#comment = 'backup dir by chaplain'
#path = /backup

 

 

 

posted on 2020-08-25 22:57  天涯共此良辰时  阅读(151)  评论(0编辑  收藏  举报