rsync使用笔记
rsync特征
速度:第一次的rsync同步源的整个目录到目标位置。之后,rsync只传递改变的块或字节到目标位置,传输非常快。
安全:rsync在传输中允许使用ssh协议加密数据。
更少的带宽:rsync分别在发送和接收端对数据进行压缩和解压缩。
特权:不需要特殊权限来安装和执行rsync。
rsync语法
$ rsync options source destination
#source和destination可以是本地或远程。在远程的情况下,需要指定登录名、远程服务器的名称和位置。
rsync使用示例
在本地服务器上同步两个目录
$ rsync -zvr 源目录 目标目录 # -z 允许压缩 # -v 详细输出 # -r 递归 # rsync 不会同步源文件或目录的时间戳
用rsync –a同步时间戳
$ rsync -azv 源目录 目标目录
只同步一个文件
$ rsync -v /var/test.txt /root/temp/
将本地文件同步到远程服务器
$ rsync -avz 源目录 username@remote_server_ip:path
将远程文件同步到本地服务器
$ rsync -avz username@remote_server_ip:path 目标目录
指定使用某一协议同步
$ rsync -avz -e ssh username@remote_server_ip:path 目标目录
不覆盖目标位置已改变的文件
# 如果目标位置的文件已被修改,而我们不希望旧文件覆盖它时,可以使用-u选项。 $ rsync -avzu username@remote_server_ip:path /root/temp
查看rsync进度
$ rsync -avz --progress username@remote_server_ip:path /root/temp
删除目标位置创建的文件
#若我们希望rsync时删除在源位置不存在而在目标位置存在的文件,可以使用-delete选项。
$ rsync -avz --delete username@remote_server_ip:path /root/temp
在目标位置不创建新文件
# 使用-existing选项使得在同步时只同步目标位置存在的文件,而不创建新文件。 $ rsync -avz --existing username@remote_server_ip:path /root/temp
查看源和目标的不同文件或目录
$ rsync -avzi username@remote_server_ip:path /root/temp/ receiving file list ... done >f.st.... Basenames .f....og. Dirnames ===================================== > 代表文件已被传输到本地主机。 f:代表这是个文件 s:代表文件大小发生变化 t:代表时间戳发生变化 o:属主发生变化 g:属组发生变化
在传输时指定包括或排除某些文件
rsync -avz --include 'P*' --exclude '*' username@remote_server_ip:path /root/temp
不传输大文件
# 使用rsync –max-size选项后,rsync将不传输大于指定大小的文件 rsync -avz --max-size='100K' username@remote_server_ip:path /root/temp/
传输整个文件
# rsync的主要特征之一是它只传输改变的块到目标位置,而不是传输整个文件。如果网络带宽对你不是问题(CPU有),您可以使用-w选项来传输整个文件。它会加速rsync过程,因为它不用在源和目标位置执行校验和。 $ rsync -avzW username@remote_server_ip:path /root/temp
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 haominglfs的博客!