rsync
是一个广泛使用的文件同步工具,在 Linux 系统中非常受欢迎,因为它不仅能够实现文件和目录间的复制,还能提供高效的数据传输。rsync
的强大功能主要体现在它的众多选项上。本文将详细介绍一些常用的 rsync
选项。
rsync [选项] 源 目标
这个选项是归档模式,相当于 -rlptgoD
。这表示保持文件的属性(如权限、时间戳等)不变,并支持目录的递归复制。
rsync -a /source/path/ /destination/path/
增加详细信息输出级别,显示更多的调试和进度信息。
rsync -v /source/path/ /destination/path/
递归复制所有子目录。在某些情况下,-a
选项已经包含了 -r
的功能。
rsync -r /source/path/ /destination/path/
仅更新目标文件,只有当源文件比目的地的新或大时才进行复制。
rsync -u /source/path/ /destination/path/
在传输过程中压缩数据,以减少带宽占用。
rsync -az /source/path/ /destination/path/
删除目的地中源文件不存在的文件。这可以用于保持目标目录和源目录一致。
rsync -avz --delete /source/path/ /destination/path/
保留链接文件(符号链接)。
rsync -avz -l /source/path/ /destination/path/
保持文件的时间戳不变。
rsync -avz -t /source/path/ /destination/path/
保留所有者组信息(需要有相应的权限)。
rsync -avz -g /source/path/ /destination/path/
保持文件的所有者不变(需要有相应的权限)。
rsync -avz -o /source/path/ /destination/path/
保留设备文件信息。这通常与 --super
一起使用,以便在超级用户下运行。
rsync -avz -D /source/path/ /destination/path/
用于增量备份的选项。它会创建一个硬链接到上次备份的结果文件。
rsync -avz --link-dest=/path/to/previous_backup /source/path/ /destination/path/
基本复制:简单地将 /home/user/docs
目录下的所有内容复制到 /mnt/backup/docs
目标路径。
rsync -avz /home/user/docs /mnt/backup/docs/
递归且保留属性:使用 -a
选项递归地复制目录,并保持文件的所有者、权限和时间戳。
rsync -avz /source/path/ /destination/path/
同步更新:仅在需要时更新目标文件,这可以节省带宽并减少网络负载。
rsync -avz --update /source/path/ /destination/path/
压缩传输:在传输过程中使用 gzip
压缩算法来减小数据量。
rsync -az /source/path/ /destination/path/
通过这些常用的选项,你可以根据需要灵活地配置 rsync
的行为。希望这篇文章能够帮助你更好地理解和利用 rsync
工具的强大功能。