VPS 间通过 rsync 无需密码同步文件(CentOS 7)

rsync 是 Unix 下一款应用软件,它能同步更新两处计算机(VPS)文件与目录。可同步,增量备份等。

rsync 官网:https://rsync.samba.org

安装 rsync

yum install rsync

rsync 使用教程

rsync 有两种工作方式:SSH 和 daemon。

  • SSH 方式是使用系统上的用户通过 SSH 进行同步操作。
  • daemon 方式是 rsync 服务器会开一个 873 端口,等待客户端去连接,连接时进行验证,通过后同步。

这里只介绍 SSH 方式,SSH模式下进行同步操作,命令:rsync -options SRC DEST;SRC 代表源目录,DEST 代表目标目录,通过 ssh 链接时,有时需要指定 ssh 端口,使用这个方式:rsync -options -e "ssh -p 10000" SRC DEST

常用场景:

本地拷贝目录

将 /home/wwwroot/cyhour/ 拷贝到 /data/wwwroot/cyhour/

rsync -avu /home/wwwroot/cyhour/ /data/wwwroot/cyhour/

将本地目录拷贝到远程服务器

rsync -avu --progress --delete /home/wwwroot/cyhour.com/ root@1.1.1.1:/home/wwwroot/cyhour.com/

如果改了 SSH 端口,需要加-e "ssh -p SSH 端口",不想显示具体传输过程可以去掉P参数,需要压缩传输可以加z参数。

--delete,表示本地删除的文件,远程端也会删除,保持完整一致。

将远程服务器目录拷贝到本地

rsync -avu --progress --delete root@1.1.1.1:/home/wwwroot/cyhour.com/ /home/wwwroot/cyhour.com/

rsync 同步文件并删除多余文件

rsync -avP -e 'ssh -p 1024 -i /root/.ssh/id_rsa' --delete /data/wwwroot/xxx root@1.1.1.1:/data/wwwroot

将执行命令 VPS /data/wwwroot/ 目录下 xxx 同步至目标机器 1.1.1.1 /data/wwwroot 目录下 xxx,并删除目标机器 xxx 目录下多余文件(源机器没有的文件)。

其中 1024 为远程目标机器 SSH 端口;/root/.ssh/id_rsa 为连接远程目标机器的 SSH 私钥(最好不要加密码,否则每次同步需要输入密码),存放在源机器 /root/.ssh/ 目录下。

SSH 登陆可能提示 @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ :

Permissions 0644 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

解决方法:

chmod 400 /root/.ssh/id_rsa

400 拥有者只读不可执行;600 拥有者可读写不可执行;700 拥有者有读、写、执行权限。

rsync 常用参数

  • -v, --verbose 详细模式输出
  • -q, --quiet 精简输出模式
  • -c, --checksum 打开校验开关,强制对文件传输进行校验
  • -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
  • -r, --recursive 对子目录以递归模式处理
  • -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
  • -suffix=SUFFIX 定义备份文件前缀
  • -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
  • -l, --links 保留软链结
  • -p, --perms 保持文件权限
  • -o, --owner 保持文件属主信息
  • -g, --group 保持文件属组信息
  • -t, --times 保持文件时间信息
  • -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
  • --delete 删除那些DST中SRC没有的文件
  • --delete-excluded 同样删除接收端那些被该选项指定排除的文件
  • --delete-after 传输结束以后再删除
  • --ignore-errors 及时出现IO错误也进行删除
  • --force 强制删除目录,即使不为空
  • --timeout=TIME IP超时时间,单位为秒
  • --progress 显示备份过程
  • -z, --compress 对备份的文件在传输时进行压缩处理
  • --exclude=PATTERN 指定排除不需要传输的文件模式
  • --include=PATTERN 指定不排除而需要传输的文件模式
  • --exclude-from=FILE 排除FILE中指定模式的文件
  • --include-from=FILE 不排除FILE指定模式匹配的文件

参考资料

rsync 文件同步/传输,增量备份传输利器使用教程

除非注明,常阳时光文章均为原创,本文地址 https://cyhour.com/1201/AMP 移动加速版本)转载时必须以链接形式注明原始出处。
Vultr 送$25,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息,或支持老杨
Views: 63 Tags:  ,  ,  , 

Comments:0

发表留言

Vultr 送$25,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息