rsync的工作方式介绍
SYNOPSIS
Local: rsync [OPTION...] SRC... [DEST]
本地数据备份方式,类似cp命令
rsync ---数据备份命令
[OPTION...] ---指定备份数据命令参数
SRC ---本地要备份的数据信息
[DEST] ---将要备份的数据保存到什么位置
实例:
[root@backup ~]# rsync -rp /etc/hosts /tmp/
[root@backup ~]# ls /tmp/
hosts
-------------------------------------------------------------------------------
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
实现远程备份方式,类似scp命令
Pull:
rsync ---数据备份命令
[OPTION...] ---指定备份数据命令参数
[USER@]HOST: ---定义以什么身份从相应主机上,拉取数据信息
(如果没有[USER@],表示以当前用户身份登录到远程主机,拉
取数据)
SRC... ---将要从远端服务拉取的数据信息(文件或目录)
[DEST] ---将拉取过来的数据,保存到本地路径信息
实例:
[root@backup ~]# rsync root@10.0.0.31:/etc/services /tmp
root@10.0.0.31‘s password:
[root@backup ~]# ls /tmp/
hosts services
-------------------------------------------------------------------------------
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Push:
rsync ---数据备份命令
[OPTION...] ---指定备份数据命令参数
SRC... ---将本地服务器上数据信息(文件或目录),推送到远端
[USER@]HOST: ---定义以什么身份向相应主机上,推送数据信息
(如果没有[USER@],表示以当前用户身份登录到远程主机,推
送数据)
DEST ---将本地数据推送到远程服务器的路径信息
实例:
[root@backup ~]# rsync /etc/hosts root@10.0.0.31:/tmp
root@10.0.0.31‘s password:
-------------------------------------------------------------------------------
守护进程模式:
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
实现守护进程方式,进行数据备份同步:
Pull:
rsync ---数据备份命令
[OPTION...] ---指定备份数据命令参数
[USER@]HOST:: ---指定认证用户身份信息,从相应主机,拉取数据信息
SRC... ---指定一个模块信息?
[DEST] ---将拉取过来的数据,保存到本地路径信息
实例:
[root@nfs01 ~]# rsync -avz rsync_backup@10.0.0.41::backup /tmp/
-------------------------------------------------------------------------------
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
rsync ---数据备份命令
[OPTION...] ---指定备份数据命令参数
SRC... ---将本地服务器上数据信息(文件或目录),推送到远端
[USER@]HOST:: ---指定认证用户身份信息,将本地主机数据,推送到远端
DEST ---指定一个模块信息?
实例:[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 201 bytes received 27 bytes 152.00 bytes/sec
total size is 371 speedup is 1.63
-------------------------------------------------------------------------------
rsync命令参数:
-v,--verbose 详细模式输出,传输时的信息
-z,--compress 传输时进行压缩提高传输效率,--compress-level=NUM 可以按级别
压缩。局域网可以不用压缩
-a,--archive 归档模式,表示以递归方式传输,并保持所有文件属性。等于-rtopgDl
-r,--recursive 对子目录以递归模式
-t,--times 保持文件时间信息
-o,--owner 保持文件属主信息
-p,--perms 保持文件权限
-g,--group 保持文件属组信息
-P,--progress 显示同步的过程及传输的进度等信息
-D,--devices 保持设备文件信息
-l,--links 保留软链接
-e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell程序。例如:ssh
实例:
配置ssh加密传输
[root@nfs01 ~]# rsync -avz -e "ssh -p22" /etc/hosts backup:/backup
--exclude=PATTERN 指定排除不需要传输的文件信息(和tar参数一样)
实例:
[root@nfs01 ~]# rsync -avz /etc/ --exclude=hosts rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password
--exclude-from=file 文件名所在的目录文件,即可以实现排除多个文件
实例:
[root@nfs01 ~]# rsync -avz /etc/ --exclude-from=/tmp/exclude.txt rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password
--bwlimit=RATE 限速功能
--delete 让目标目录SRC和源目录数据DST一致,即无差异同步数据
实例:
[root@nfs01 ~]# rsync -avz --delete /etc/ rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password
sending incremental file list
deleting 02/hosts
deleting 02/
deleting 01
sysconfig/networking/profiles/default/hosts
sent 46609 bytes received 217 bytes 31217.33 bytes/sec
total size is 40549522 speedup is 865.96
-------------------------------------------------------------------------------