Rsync用于在本地或远程系统之间同步文件和目录。它可以在本地或远程系统之间复制和同步文件,支持增量备份,可以快速、安全地传输大量数据。rsync可以通过SSH、RSH或直接TCP连接进行传输,支持压缩和加密传输,可以在传输过程中断后恢复,可以排除指定的文件和目录,支持多种操作系统和文件系统。
rsync的主要特点包括: 1. 增量备份:只传输已更改的文件,可以大大减少传输时间和带宽消耗。 2. 安全传输:支持SSH加密传输,可以保证数据传输的安全性。 3. 断点续传:传输过程中断后可以恢复,不需要重新传输所有文件。 4. 排除指定文件和目录:可以通过指定排除规则来排除不需要传输的文件和目录。 5. 支持多种操作系统和文件系统:可以在不同的操作系统和文件系统之间进行文件同步和备份。 6. 支持压缩传输:可以在传输过程中进行数据压缩,减少传输时间和带宽消耗。
rsync远程数据同步类似于scp,本地类似于cp
与传统的cp、scp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份 需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。
opssh8.0不建议使用scp,rsync代替或 使用sftp。
服务端与客户端都必须安装rsync。
rsync有三种工作方式:1.在本地文件系统中运行
2.ssh方式与远程主机通信
3.rsync-daemon方式
选项:
-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。
-n --dry-run :仅测试传输,而不实际传输。常和"-vvvv"配合使用来查看rsync是如何工作的。
-a --archive :归档模式,表示递归传输并保持文件属性。(no -H,-A,-X)
-r --recursive:递归到目录中去。
-t --times:保持mtime属性。强烈建议任何时候都加上"-t",否则目标文件mtime会设置为系统时间,导致下次更新检查出mtime不同从而导致增量传输无效。
-o --owner:保持owner属性(属主)。
-g --group:保持group属性(属组)。
-p --perms:保持perms属性(权限,不包括特殊权限)。
-D :是"--device --specials"选项的组合,即也拷贝设备文件和特殊文件。
-l --links:如果文件是软链接文件,则拷贝软链接本身而非软链接所指向的对象。
-z :传输时进行压缩提高效率。
-u --update :仅在源mtime比目标已存在文件的mtime新时才拷贝。注意,该选项是接收端判断的,不会影响删除行为。
--exclude :指定排除规则来排除不需要传输的文件。
--delete :以SRC为主,对DEST进行同步。多则删之,少则补之。
-e :指定所要使用的远程shell程序,默认为ssh。
本机同步:rsync -va /etc/hosts /tmp/
基于ssh将本机文件同步到远程主机:rsync -va /etc 192.168.1.251:/tmp
基于ssh将远程主机文件同步的本机:rsync -vza 192.168.1.251:/tmp /var/tmp
列出本机目录下文件:rsync /etc/
列出远程主机目录下文件:rsync 192.168.1.251:/tmp/
rsync -vaz --delete /var/www/html/ 192.168.122.10:/var/www/html 增量
rsync -vaz --delete /var/www/html 192.168.122.10:/var/www/ 全部
同步目录注意事项
源:
目录以"/"结尾 #仅传输目录下的内容
目录不以"/"结尾 #传输目录及目录下所有的内容,将目录作为整体
目标:
目标目录不存在 #先创建目录,再传输. 如果创建时父目录不存在, 则报错