linux中的rsync命令常见用法

基本介绍


  1. 用途:常用于在不同的linux机器间进行拷贝或者同步文件(例如在你的本地机器和服务器的文件传输同步等),而且这个命令不需要root权限.
  2. 如果你的机器还没rsync命令,ubuntu上可以通过sudo apt install rsync进行安装.
  3. 使用remote-uopdate协议,意味着他只是传输文件不同的部分.这使得它传输得更快,而且也能具备同步的功能.

基本用法


  1. 基本语法: rsync option src dest
  2. 常用选项:

opt

description

-v

冗长模式,显示详细信息

-r

递归拷贝,但是不会保留文件的时间,权限信息

-a

归档模式,拷贝的同时会保留原文件信息(symblic links, file permissions, user and group ownership, timestamps)

-z

传输的过程进行文件的压缩

-h

易读模式(human-readable)

-e

使用特定协议进行传输,后面指定协议名称(如-e ssh表示使用,注意,如果使用此选项,多选项一定要把e放在选项的最后,例如 -avzhe ssh)

–progress

显示数据传输过程

–include ‘filename’, –exclude ‘filename’

指定包含或者排除的传输文件,支持通配符.

–delete

用于同步,如果某个文件或者目录在src不存在但是在dest存在,那么那就会在dest中删除这个文件.

–max-size

指定传输的最大大小,例如–max-size=’200k’ 就只可以传输小于等于200k的文件大小.

–remove-source

成功传输后删除原文件或者原文件夹

–dry-run

模拟传输过程,即不是真实传输,只是让你看看执行此命令的输出,如果输入和你理想中一样,就可以删除此选项进行真实的传输或同步

–bwlimit

设置传输带宽限制

常见用法


  1. 在一台机器内的文件的拷贝和同步:rsync -zvh srcfile destdir/.
  2. 在一台机器内的文件夹的拷贝和同步:rsync -avzh srcdir destdir/.
  3. 将本地机器文件/文件夹传输或同步到远程机器:rsync -avzh local_dir user@server_ip:absolute_path
  4. 将远程机器文件/文件夹传输或同步到本地机器:rsync -avzh user@server_ip:absolute_path local_path
  5. 结合上面的基本用法,你应该可以掌握许多种用法了.