当我们想远程发送给另一个主机文件时有很多种方法,今天主要介绍使用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主机上了:

Logo

更多推荐