rsync命令详解、rsync用ssh隧道方式同步

时间:2021-02-09 22:17:37

● rsync格式
安装命令 yum install -y rsync
与scp的区别:
scp复制为完全覆盖,rsync为增量同步,只同步修改过的数据。
rsync命令格式如下:

  1. rsync 选项 源文件 目标目录(本地)
  2. rsync 选项 源文件 用户名@host:目标目录(本地文件同步到远程目录,ssh模式)
  3. rsync 选项 用户名@host:源文件 目标目录(远程目录同步到本地,ssh模式)
  4. rsync 选项 用户名@host::源文件 目标目录(daemon模式)
  5. rsync 选项 源文件 用户名@host::目标目录(daemon模式)
    ● rsync选项
    -a:归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD。后面可以跟--no-OPTION,表示关闭其中的某个选项。
    -r:对子目录以递归模式处理,主要针对目录
    -v:打印信息
    -l:保留软连接(只拷贝软连接文件,不拷贝目标文件)
    -L:像对待常规文件一样处理软连接,如果是src中有软连接文件,则加上该选项后会把软连接指向的目标文件拷贝到dst
    -p:保持文件权限
    -o:保持文件属主信息
    -g:保持文件属组信息
    -D:保持设备文件信息
    -t:保持文件时间信息
    -P:显示进度
    --delete:删除那些dst中src没有的文件
    --exclude=PATTERN:指定排除不需要传输的文件,等号后跟文件名
    --progress:在同步过程中可以看到同步的过程状态
    -u:会把dst中比src还新的文件排除掉,不会覆盖
    ● rsync选项详解
  6. 使用-a选项
    在备份目录时要养成加/的习惯,rsync -a test1/ test2/
  7. 使用-L选项
    rsync -avL test1/ test2/,将软连接的目标文件拷贝过去,不会拷贝软连接文件。
  8. 使用-u选项
    如果源文件内容修改,则会修改目标文件内容,如果目标文件修改,则不会覆盖目标文件内容。
  9. 使用--delete选项
    无论是源目录还是目标目录增加了新文件,如果加上这个选项,则会删除新增文件
  10. 使用--exclude选项
    有不想拷贝的文件时加上此选项

添加ssh端口,vi /etc/ssh/sshd_config,修改里面的Port参数。 默认是注释掉的,你增加一行即可。

准备两台机器,分别安装openssh-clients
yum install -y openssh-clients
然后通过密钥验证,实现脚本免密备份
两台机器ip分别为192.168.233.129(leewill1),192.168.233.130(leewill2)
需要从leewill1上拷贝数据到leewill2,首先确认一下leewill1上是否有这个文件/root/.ssh/id_rsa.pub
ssh-keygen
rsync命令详解、rsync用ssh隧道方式同步
密码为空,直接回车。
将公钥文件的内容拷贝到目标机器上。
rsync命令详解、rsync用ssh隧道方式同步
将其粘贴到/root/.ssh/authorized_keys中。
然后在leewill1上登陆
ssh root@192.168.233.130
然后退出来,在leewill1上执行rsync命令即可。