在 Linux 中,rsync 是一个非常强大且灵活的文件同步工具。它可以在本地和远程系统之间同步文件和目录。以下是如何使用 rsync 进行文件同步的基本步骤:
rsync [选项] 源 目标
-v:详细模式,显示同步过程中的信息。-r:递归同步目录及其内容。-a:归档模式,保留符号链接、文件权限、时间戳等。-z:在传输过程中压缩数据。-h:以人类可读的格式显示文件大小。--delete:删除目标目录中源目录不存在的文件。--progress:显示文件传输的进度。本地同步
将 /home/user/source 目录同步到 /home/user/destination 目录:
rsync -avzh /home/user/source/ /home/user/destination/
这里使用了 -a 选项来保留文件的属性,-v 选项来显示详细信息,-z 选项来压缩数据,-h 选项来以人类可读的格式显示文件大小。
远程同步
将本地 /home/user/source 目录同步到远程服务器 remotehost 的 /home/user/destination 目录:
rsync -avzh /home/user/source/ user@remotehost:/home/user/destination/
如果需要使用 SSH 密钥认证,可以省略密码输入:
rsync -avzh -e ssh /home/user/source/ user@remotehost:/home/user/destination/
删除目标目录中多余的文件
如果希望在同步过程中删除目标目录中源目录不存在的文件,可以使用 --delete 选项:
rsync -avzh --delete /home/user/source/ /home/user/destination/
rsync 同步目录时,源目录和目标目录的路径后面都需要加上斜杠 /,以确保同步的是目录的内容而不是目录本身。rsync 进行远程同步时,确保目标服务器上已经配置了 SSH 访问权限。--delete 选项时要格外小心,因为它会删除目标目录中不在源目录中的文件。通过这些基本步骤和选项,你可以灵活地使用 rsync 在 Linux 系统中进行文件同步。