Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1080096
  • 博文数量: 143
  • 博客积分: 969
  • 博客等级: 准尉
  • 技术积分: 1765
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 12:09
文章分类

全部博文(143)

文章存档

2023年(4)

2021年(2)

2020年(4)

2019年(4)

2018年(33)

2017年(6)

2016年(13)

2014年(7)

2013年(23)

2012年(33)

2011年(14)

我的朋友

分类: LINUX

2018-12-02 18:03:49

先了解下rsync的同步参数选项,先通过本地同步的方式来验证rsync的同步参数。


-v      :详细模式输出,传输时的进度等信息


-z      :传输时进行压缩以提高效率—compress-level=num可按级别压缩


-r      :对子目录以递归模式,即目录下的所有目录都同样传输。


-t      :保持文件的时间信息—time


-o      :保持文件属主信息owner


-p      :保持文件权限


-g      :保持文件的属组信息


-P      :--progress 显示同步的过程及传输时的进度等信息


-a      :归档模式,表示以地柜模式传输文件,并保持文件所有属性相当于-rtopgdl


-e      :使用的信道协议,指定替代rsh的shell程序。例如:ssh


-D      :保持设备文件信息


-l      :--links 保留软连接


--progress  :显示备份过程


--delete    :删除那些DST中SRC没有的文件


--exclude=PATTERN  指定排除不需要传输的文件模式


-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)


-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。


-suffix=SUFFIX 定义备份文件前缀


-stats 给出某些文件的传输状态


-R, --relative 使用相对路径信息  如:rsync foo/bar/foo.c remote:/tmp/   则在/tmp目录下创建foo.c文件,而如果使用-R参数:rsync -R foo/bar/foo.c remote:/tmp/     则会创建文件/tmp/foo/bar/foo.c,也就是会保持完全路径信息。


--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件


--port=PORT 指定其他的rsync服务端口


一般就使用  -avz来进行传输,如果放入脚本中可以吧-v和-P去掉。


rsync的命令格式可以为:
1)rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST   推送(因为SRC是本地)
2)rsync [OPTION]... [USER@]HOST:SRC DEST            拉取 (因为SRC是服务端)
3)rsync [OPTION]... SRC [SRC]... DEST      拷贝本地文件
4)rsync [OPTION]... [USER@]HOST::SRC [DEST]
5)rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
6)rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC[DEST]


SRC:标示源文件(从哪来拷)   DES:目标文件(拷到哪里)
rsync命令有六种格式:


第1个命令格式:是将本地的内容推送到服务器端。实例:rsync  /tmp   rsync@192.168.1.1:www 


第2个命令格式:是将服务器的内容拉取到本地端。实例:rsync rsync@192.168.1.1:www    /tmp


[对照一下上面的命令格式,一般是有USER@HOST:就表示是服务器端,而没有知识SRC或DEST就表示是客户端。怎么分清楚是拉取还是推送,要看服务端是SRC还是DEST,如果是SRC就表示从服务端拷,就是拉取格式如USER@HOST:SRC。如果是DEST(拷到哪里)就表示推送,拷到服务端USER@HOST:DEST]


第4个和第5个命令同第1、2之间的区别就在于服务端(USER@HSOT)后面是跟上一个: 还是两个::1g个:表示会在服务器端启用以个shell来执行这个命令。而::表示会以deamon模式来执行。
阅读(7550) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~