rsync
是一个在 Linux 系统中非常强大的文件同步工具,它可以用来备份文件、镜像网站目录、同步文件夹等。以下是使用 rsync
命令同步文件的基本步骤和示例:
基本语法
rsync [选项] 源路径 目标路径
常用选项
-v
:详细模式,显示同步过程中的详细信息。-r
:递归同步目录及其子目录。-a
:归档模式,保留符号链接、文件权限、时间戳等。-z
:压缩数据传输,减少带宽使用。-h
:人类可读的输出格式。--delete
:删除目标目录中源目录不存在的文件。--progress
:显示文件传输的进度信息。
示例
-
基本同步 将本地目录
/home/user/source
同步到远程服务器/home/user/destination
:rsync -avz /home/user/source user@remote_host:/home/user/destination
-
递归同步 同步本地目录
/home/user/source
及其子目录到远程服务器:rsync -avz /home/user/source user@remote_host:/home/user/destination
-
删除目标目录中多余的文件 同步本地目录
/home/user/source
到远程服务器,并删除目标目录中源目录不存在的文件:rsync -avz --delete /home/user/source user@remote_host:/home/user/destination
-
显示传输进度 同步本地目录
/home/user/source
到远程服务器,并显示传输进度:rsync -avzh --progress /home/user/source user@remote_host:/home/user/destination
-
同步到本地目录 将远程服务器
/home/user/destination
同步到本地目录/home/user/source
:rsync -avz user@remote_host:/home/user/destination /home/user/source
-
使用 SSH 密钥认证 如果你已经配置了 SSH 密钥认证,可以省略密码输入:
rsync -avz /home/user/source user@remote_host:/home/user/destination
注意事项
- 确保你有足够的权限访问源目录和目标目录。
- 使用
--delete
选项时要小心,因为它会删除目标目录中源目录不存在的文件。 - 在生产环境中使用
rsync
之前,最好先在测试环境中进行测试。
通过这些基本示例和选项,你应该能够使用 rsync
命令有效地同步文件和目录。