Rsync 命令笔记

7 min read

rsync 是一个用于文件同步和传输的强大工具,它能够高效地处理大量数据,同时保持文件的权限和属性不变。以下是使用 rsync 通过 SSH 安全传输数据的一些关键点和常用参数的总结:

基本命令结构

rsync [options] source destination

常用选项

  • -a (archive mode):这是多个选项的组合,包括 -rlptgoD,用于保持文件的权限、链接、时间戳等。
  • -v (verbose):显示操作的详细过程,有助于监控同步状态。
  • -z (compress):在传输数据时进行压缩,减少所需的传输时间和带宽。
  • -e (remote shell):指定远程 shell 程序,通常是 ssh,用于加密数据传输。

传输数据示例

将本地目录 /path/to/source/ 同步到远程服务器的 /path/to/destination/ 目录:

rsync -avz -e ssh /path/to/source/ user@remote:/path/to/destination/

注意事项

  • 目录路径后的斜杠(/)对于 rsync 操作有特定的含义。目录路径末尾的斜杠表示复制目录内的内容,而不包括目录本身;没有斜杠则表示复制目录及其内容。
  • 使用 -e ssh 时,可以通过 SSH 进行安全传输,如果需要指定 SSH 端口,可以在 -e 选项后添加 -p 端口号

应用场景

rsync 非常适合进行备份操作、网站部署、远程文件同步等场景,特别是在处理大量数据时,其优势更为明显。通过使用 SSH 传输,rsync 也确保了数据传输过程的安全性。