先了解下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模式来执行。
阅读(7629) | 评论(0) | 转发(0) |