HOME

rsync常用选项介绍

rsync 是一个广泛使用的文件同步工具,在 Linux 系统中非常受欢迎,因为它不仅能够实现文件和目录间的复制,还能提供高效的数据传输。rsync 的强大功能主要体现在它的众多选项上。本文将详细介绍一些常用的 rsync 选项。

基本语法

rsync [选项] 源 目标

-a, --archive

这个选项是归档模式,相当于 -rlptgoD。这表示保持文件的属性(如权限、时间戳等)不变,并支持目录的递归复制。

rsync -a /source/path/ /destination/path/

-v, --verbose

增加详细信息输出级别,显示更多的调试和进度信息。

rsync -v /source/path/ /destination/path/

-r, --recursive

递归复制所有子目录。在某些情况下,-a 选项已经包含了 -r 的功能。

rsync -r /source/path/ /destination/path/

-u, --update

仅更新目标文件,只有当源文件比目的地的新或大时才进行复制。

rsync -u /source/path/ /destination/path/

-z, --compress

在传输过程中压缩数据,以减少带宽占用。

rsync -az /source/path/ /destination/path/

--delete

删除目的地中源文件不存在的文件。这可以用于保持目标目录和源目录一致。

rsync -avz --delete /source/path/ /destination/path/

-l, --links

保留链接文件(符号链接)。

rsync -avz -l /source/path/ /destination/path/

-t, --times

保持文件的时间戳不变。

rsync -avz -t /source/path/ /destination/path/

-g, --group

保留所有者组信息(需要有相应的权限)。

rsync -avz -g /source/path/ /destination/path/

-o, --owner

保持文件的所有者不变(需要有相应的权限)。

rsync -avz -o /source/path/ /destination/path/

-D, --devices

保留设备文件信息。这通常与 --super 一起使用,以便在超级用户下运行。

rsync -avz -D /source/path/ /destination/path/

--link-dest=DIR

用于增量备份的选项。它会创建一个硬链接到上次备份的结果文件。

rsync -avz --link-dest=/path/to/previous_backup /source/path/ /destination/path/

示例

  1. 基本复制:简单地将 /home/user/docs 目录下的所有内容复制到 /mnt/backup/docs 目标路径。

    rsync -avz /home/user/docs /mnt/backup/docs/
    
  2. 递归且保留属性:使用 -a 选项递归地复制目录,并保持文件的所有者、权限和时间戳。

    rsync -avz /source/path/ /destination/path/
    
  3. 同步更新:仅在需要时更新目标文件,这可以节省带宽并减少网络负载。

    rsync -avz --update /source/path/ /destination/path/
    
  4. 压缩传输:在传输过程中使用 gzip 压缩算法来减小数据量。

    rsync -az /source/path/ /destination/path/
    

通过这些常用的选项,你可以根据需要灵活地配置 rsync 的行为。希望这篇文章能够帮助你更好地理解和利用 rsync 工具的强大功能。