当我们想远程发送给另一个主机文件时有很多种方法,今天主要介绍使用rsync命令远程传输,rsync的传输方式是创建一个镜像,不像scp命令是复制粘贴的过程,所以rsync命令要比scp命令要快很多,但同时会忽视文件的属性(权限,用户,组,时间戳),连接文件,设备文件。在scp传输的过程/mnt和/mnt/在传输之后都会存在mnt这个目录,而rsync命名的/mnt是包含目录本身,而/mnt/是不包含目录本身。
rsync命令的主要参数:
-r #对目录进行第归
-p #保留权限
-o #保留文件的所有人
-g #保留文件的组
-t #保留时间戳
-l #保留连接
-D #保留设备文件
在默认情况下,是忽略文件属性(权限,用户,组,时间戳),链接文件,设备文件,如下图在node2主机的/mnt下创建文件及目录和连接:

用rsync -r /mnt/ root@172.25.254.160:/mnt/将文件传输到node1主机的/mnt/下时,文件属性和连接被忽略掉了,-r表示第归:
「
再添加上-p参数后,文件的777权限被保留:


加上-o参数,原文件的所有人得到保留,为student:


再加上-g参数,原文件的所有组被保留,为student:


-t参数保留原文件的时间戳:


-l参数保留了连接文件:


/dev/pts目录下有两个字符设备文件,在默认情况下是无法传输的:

在加上-D参数之后,就可以将设备文件传输的node1主机上了:

本文深入讲解rsync命令的使用方法,对比scp命令,rsync通过创建镜像实现更高效的远程文件传输。文章详细介绍了rsync的主要参数,如-r、-p、-o、-g、-t、-l和-D,以及它们如何影响文件属性、权限、用户、组、时间戳、链接文件和设备文件的传输。
1602

被折叠的 条评论
为什么被折叠?



