八周第二次课(5月14日)rsync工具介绍、rsync经常使用选项、rsync经过ssh同步

10.28 rsync工具介绍linux

yum install -y rsync   //安装rsyncshell

 rsync -av /etc/passwd   /tmp/1.txt     //将文件拷贝到tmp目录 并更名1.txt服务器

 rsync -av /etc/passwd root@192.168.218.128:/tmp/1.txt   // 远程拷贝ssh

rsync的命令格式:
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]IP:DEST
rsync [OPTION]... [USER@]IP:SRC DEST
rsync [OPTION]... [USER@]IP::SRC DEST
rsync [OPTION]... SRC [USER@]IP::DEST
OPTION 表示选项,例如 -av,SRC 表示原目录或文件,DEST 表示目标目录或文件,中括号[]里的user@是能够省略的。工具

对应于以上六种命令格式,rsync有六种不一样的工做模式:测试

  1. 拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工做模式。如:rsync -a /data /backup
  2. 使用一个远程shell程序(如rshssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
  3. 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
  4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@192.168.78.192::www /databack
  5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@192.168.78.192::www
  6. 列远程机的文件列表。这相似于rsync传输,不过只要在命令中省略掉本地机信息便可。如:rsync -v rsync://192.168.78.192/www

10.29/10.30 rsync经常使用选项

选项

-a 归档模式,表示以递归方式传输文件,并保持全部属性,等同于-rlptgoD, -a选项后面能够跟一个 --no-OPTION 这个表示关闭,-rlptgoD中的某一个例如 -a--no-l 等同于-rptgoD
-r 对子目录以递归模式处理,主要是针对目录来讲的,若是单独传一个文件不须要加-r,可是传输的是目录必须加-r选项,相似cp时的-r选项
-v 打印一些信息出来,好比速率,文件数量等,知道同步的过程
-l 保留软链结
-L 向对待常规文件同样处理软链结,若是是原目录或文件中有软链接文件,则加上该选项后将会把软链接指向的目标文件拷贝到目标目录或文件下
-p (小写)保持文件的权限属性
-o 保持文件的属主信息
-g 保持文件的属组信息
-D 保持设备文件信息
-t 保持文件时间属性
--delete 删除目标文件中原文件没有的文件
--exclude 过滤指定文件,如 --exclude "logs"会把文件名包含logs的文件或者目录过滤掉,不一样步。文件名能够是万用字符模式(如.txt)
-P (大写)显示同步过程,好比速率,比 -v 更加详细
--progress 在同步的过程当中能够看到同步的过程状态,好比统计要同步的文件数量、同步的文件传输速度等等
-u 加上这个选项后,若是目标目录的文件比原目录的文件新,则不一样步
-z 传输时压缩spa

测试: .net

将目录root目录111拷贝到tmp/111_dest目录code

命令 rsync -av /root/111/ /tmp/111_dest/ ,将原目录/root/ 下的目录 /111/ 同步到 /tmp/ 目录下而且更更名称为 /111_dest/ 目录。-av 在这边的做用就是包含拷贝目录、软连接、属主、属组、文件权限等选项,可视化拷贝过程。
lys3这边是软连接文件,指向了原文件 /tmp/lys2递归

a选项里面的l起的做用,保留了软连接文件。与 l 相对应的就是 L,接着来操做一下 L 选项,输入命令 rsync -avL /root/111/ /tmp/111_dest/,这边输入L就至关于把 a 选项里面的 l 覆盖掉

在文件 /tmp/lys2 上面输入内容,再同步一下目录,接着查看目录 /tmp/111_dest/lys3 的内容,会发现就是文件 lys2 上的内容。这个就是 L 选项的做用,能够把软连接指向的原文件拷贝到目标文件

在目录 /tmp/111_dest/ 目录下,新建一个文件 new.txt,而后使用同步命令 --delete 选项,命令执行的过程当中出现了 deleting new.txt ,删除了这个文件,而后就看到新建的 new.txt 文件没有了。这就是 --delete 的做用。 rsync -avL  --delete  /root/111/   /tmp/111_dest/

命令 rsync -avL --exclude ".txt" /root/111/ /tmp/111dest/ ,执行的过程当中看不到后缀 .txt 的文件,结果也确实没有出现 .txt 的文件。多个的状况,输入命令 rsync -avL --exclude ".txt" --exclude "lys" /root/111/ /tmp/111dest/

-P  显示显示同步过程,好比速率

-u 加上这个选项后,若是目标目录的文件比原目录的文件新,则不一样步

10.31 rsync经过ssh经过

经过ssh同步 须要在ab机器都安装rsync

经过ssh同步,输入命令 rsync -av /etc/passwd 192.168.218.130:/tmp/lys.txt 

反过来操做,输入命令 rsync -avP 192.168.218.130:/tmp/lys.txt  /tmp/123.txt

若是不知道对方的端口的话,就须要指定端口,加上-e选项,输入命令 rsync -avP -e "ssh -p 22" /etc/passwd  192.168.218.130:/tmp/lys.txt 

相关文章
相关标签/搜索