rsync 命令用法详解
栏目:
Linux
发布时间:2022-02-09
rsync
rsync 是一个常用的 Linux 应用程序,用于文件同步。优点:增量同步文件。
rsync 安装
如果本地或远程计算机上没有 rsync ,可以自行安装
sudo apt-get install rsync
rsync 使用方法
它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件。也可以当作文件复制工具,替代 cp 命令。
echo hello > a.txt
rsync a.txt b.txt
-r 参数
mkdir -p a/a1
rsync -r a b
-a 参数 -a 参数可以替代 -r,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以 -a 比 -r 更有用。下面的用法才是常见的写法。
rsync -a source/ destination
注意,下属两个命令结果不一样
# 将 source 目录下的内容复制到 destination 目录下
rsync -a source/ destination
# 将整个 source 目录复制到 destination 目录下
rsync -a source destination
-v 参数 -v 参数将同步结果输出到终端,方便查看哪些内容被同步了
rsync -av source/ destination
-z 参数 -z 参数指定同步时压缩数据
-u、--update 参数 -u、--update 表示同步时跳过目标目录中修改时间有更新的文件。
rsync -avu source/ destination
--delete 参数
rsync -av --delete source/ destination
--exclude 参数
rsync -av --exclude=node_modules source/ destination
rsync -av --exclude=*.sh source/ destination
--existing、--ignore-non-existing 参数表示不同步目标目录中不存在的文件和目录。
多个排除
# 方法一
rsync -av --exclude=node_modules --exclude=*.sh source/ destination
# 方法二
rsync -av --exclude={node_modules,*.sh} source/ destination
# 方法三,exclude.list 文件每行指定一个排除规则
rsync -av --exclude-from='exclude.list' source/ destination
同步本地文件到远程服务器
rsync -av a/ app-401:/data/a
同步远程文件到本地
rsync -av app-401:/data/a/ a
与 scp 区别:差异同步,速度更快
scp -r 1029/** app-401:/1029
rsync -av 1029/ app-401:/1029
本文地址:https://www.tides.cn/p_linux-rsync