Linux 基础教程

Linux 参考手册

Linux 笔记

Linux rsync 命令详解

Linux 命令行大全手册详解 Linux 命令行大全手册详解


rsync 命令是一个快速简便、功能强大的远程(或本地)文件数据同步(复制)工具。它可以复制本地数据到远程主机,也可以通过可连接远程的 shell 复制远程主机的数据到本地。rsync 提供了大量的命令选项来可以灵活控制同步行为的各个细节方面。rsync 采用“增量传输”算法,即每次传输文件数据的部分,而不是整个文件数据,通过这种方式极大地减少了传输数据的大小,所以速度非常快。rsync 广泛地应用于数据备份与镜像数据。

命令形式

rsync 共有三大工作模式,细分五个工作模式。

本地工作模式

rsync [OPTION...] SRC... [DEST]

拷贝本地 SRC 到目标 DEST。

通过远程 shell 操作模式

如通过 rsh 或 ssh 可以本地与远程数据进行传输,分为拉取(pull)操作和推送(push)操作。

pull 操作:

rsync [OPTION...] [USER@]HOST:SRC... [DEST]

push 操作:

rsync [OPTION...] SRC... [USER@]HOST:DEST

通过 rsync 后台程序操作模式

通过本地的 rsync 后台也可以进行本地与远程数据之间的 pull 和 push 操作。

pull 操作:

rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]

push 操作:

rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

命令选项

-b, --backup
创建备份(参照 --suffix 和 --backup-dir)。
-b, --backup-dir=DIR
将备份文件存放在指定的目录下。
-b, --suffix=SUFFIX
指定备份文件的后缀。
-l, --links
软链接也复制。
-p, --perms
保留文件对应的权限属性。
--password-file=FILE
从指定的文件获取密码相关信息。
-r, --recursive
对目录的操作,递归操作。
-t, --times
保留文件的修改次数信息。
-v, --verbose
详细的日志信息输出。

常用命令

同步本地的指定 war 包到远程主机的指定目录下:

rsync -rblptDv --suffix=.`date +%Y%m%d-%H%M%S` ./build/libs/knowledgedict.war lv@10.10.10.119::/data --password-file=/etc/rsync.pass