rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输量。
------ 摘自维基百科

你还在为丢失数据而烦恼吗?rsync可以很轻松帮你异地备份,再也不怕vps商家提桶跑路了!你需要的仅仅是一个大盘鸡(硬盘大的vps)。

推荐购买liteserver家的大盘鸡,性能不错,性价比高,购买链接:1H 1G 512G盘 15TB流量

rsync基本介绍

rsync 命令的基本格式有多种,分别是:

1
2
3
4
5
rsync [OPTION] SRC DEST
rsync [OPTION] SRC [USER@]HOST:DEST
rsync [OPTION] [USER@]HOST:SRC DEST
rsync [OPTION] [USER@]HOST::SRC DEST
rsync [OPTION] SRC [USER@]HOST::DEST

针对以上 5 种命令格式,rsync 有 5 种不同的工作模式:

  • 第一种用于仅在本地备份数据;
  • 第二种用于将本地数据备份到远程机器上;
  • 第三种用于将远程机器上的数据备份到本地机器上;
  • 第四种和第三种是相对的,同样第五种和第二种是相对的,它们各自之间的区别在于登陆认证时使用的验证方式不同。

在使用rsync在远程传输数据前,需要进行登陆认证的,这个过程需要借助 ssh 协议或者 rsync 协议才能完成。在 rsync 命令中,如果使用单个冒号:,则默认使用 ssh 协议;反之,如果使用两个冒号::,则使用 rsync 协议。

ssh 协议和 rsync 协议的区别在于,rsync 协议配置繁琐,增加了工作量,但优势是更加安全;反之,ssh 协议使用方便,配置简单。普通用户建议使用ssh协议即可。

另外,以上几种格式中各个参数的含义如下:

  • SRC:用来表示要备份的目标数据所在的位置(路径)
  • DEST:用于表示将数据备份到什么位置
  • USER:当做远程同步操作时,需指明系统登录的用户名,如果不显示指定,默认为以 root 身份登录系统并完成同步操作。

安装rsync

Debian、Ubuntu:

1
apt install -y rsync

CentOS:

1
yum install -y rsync

配置免密码备份

若不进行这项配置,每次备份都要手动输入密码,非常不方便
配置教程点击这里

命令

例:将本地目录/www/test下的文件同步到远程目录/backup/test(服务器地址:192.168.1.100)。

1
rsync -avz -e "ssh -i /root/.ssh/id_rsa" "/www/test/" root@192.168.1.100:/backup/test

注意在rsync中/www/test//www/test是不同的,前者表示同步文件夹下的文件,并不包含本文件夹,后者表示同步本文件夹和本文件夹下的文件

  • -a表示归档
  • -v表示显示过程
  • -z表示压缩传输
  • -e后面是ssh的命令

手动运行一次

img

输入yes,输入密码,便会开始同步。