阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

通过rsync实现远程同步

590次阅读
没有评论

共计 3150 个字符,预计需要花费 8 分钟才能阅读完成。

正确、有效的备份方案是保障系统及数据安全的重要手段,在服务器中,通常会结合计划任务、Shell 脚本来执行本地备份,为了进一步提高备份的可靠性,使用异地备份也是非常有必要的。

比如针对 web 站点的同步备份,如果想要实现快速、安全、高效的异地备份,就需要使用到——rsync。

rsync 简介

rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。

rsync 的官方站点:http://rsync.samba.org/,目前最新版本是 3.1.3,由 Wayne Davison. 进行维护,作为一种最常用的文件备份工具,rsync 往往是 Linux 和 UNIX 系统默认安装的基本组件之一。

rsync 是一款快速增量备份工具,支持:(1)本地复制;(2)与其他 SSH 同步;(3)与 rsync 主机同步。

在远程同步任务中,负责发起 rsync 同步操作的客户机称为发起端,而负责相应来自客户机的 rsync 同步操作的服务器称为同步源。在同步过程中,同步源负责提供文档的原始位置,发起端应对该位置有读取权限。如图:
通过 rsync 实现远程同步

配置 rsync 源

配置 rsync 源服务器大致分为三步:(1)建立 rsync 配置文件;(2)为备份账户创建数据文件;(3)启动 rsync 服务。

(1)建立 rsync 配置文件

在 CentOS 7 系统之前 /etc/rsyncd.conf 文件默认不存在,CentOS 7 开始已经有这样的文件,并且其中放置了模板参考信息(根据实际情况编写需要的内容,注意格式)。

[root@localhost ~]# vim /etc/rsyncd.conf 
uid = nobody                                                                // 启用匿名用户
gid = nobody                                                               
use chroot = yes                                                          // 禁锢在源目录
address = 192.168.1.1                                                // 监听地址
port 873                                                                      // 监听端口
log file = /var/log/rsyncd.log                                       // 日志文件存放位置
pid file = /var/run/rsyncd.pid                                      // 存放进程 ID 的文件位置
hosts allow = 192.168.1.0/24                                    // 允许访问的客户机地址
[wwwroot]                                                                  // 共享模块名称
        path = /var/www/html                                        // 源目录的实际路径
        comment = aaa                                                 // 描述(可以省略)read only = no                                                   // 是否为只读
        dont compress = *.gz *.bz2 *.rar *.zip               // 同步时不再压缩的文件类型
        auth users = backuper                                      // 授权账户
        secrets file = /etc/rsyncd_users.db                   // 存放账户信息的数据文件

基于安全性考虑,对于 rsync 的同步源最好仅允许以只读方式做同步。另外,同步可以采用匿名的方式,只要将其中的“auth users”和“secrets file”配置项去除即可!

(2)为备份账号创建数据文件

根据 rsync 的配置文件内容,创建账号数据文件。每行一个用户,用户和密码之间用冒号进行分隔。

[root@localhost ~]# vim /etc/rsyncd_users.db
backuper:123456

由于账号信息采用明文存放,因此需要调整文件权限,避免账号信息泄露。

[root@localhost ~]# chmod 600 /etc/rsyncd_users.db

备份用户应对源目录具有读取权限。

[root@localhost ~]# ls -ld /var/www/html
drwxr-xr-x. 2 root root 6 11 月 15 2016 /var/www/html

(3)启动 rsync 服务

[root@localhost ~]# rsync --daemon
[root@localhost ~]# netstat -anpt | grep rsync
tcp        0      0 192.168.1.1:873         0.0.0.0:*               LISTEN      44001/rsync

如果需要重启 rsync 服务,需要:

[root@localhost ~]# kill  $(cat /var/run/rsyncd.pid)
// 停止服务
[root@localhost ~]# rsync --daemon
// 启动服务
[root@localhost ~]# kill -9 $(cat /var/run/rsyncd.pid)

或者直接使用“netstat -anpt | grep rsync”命令查出进程号,使用“kill 进程号”一样。
使用第一种方法停止 rsync 服务必须删除存放 rsync 服务进程的文件:

[root@localhost ~]# rm -rf /var/run/rsyncd.pid

使用 rsync 备份工具

配置好 rsync 同步源服务器之后,客户端就可以使用 rsync 工具来执行远程同步了。

rsync 命令的选项:-r:递归模式,包含目录及子目录中所有文件
-l:对于符号链接文件仍然复制为符号链接文件
-p:保留文件的权限标记
-t:保留文件的时间标记
-g:保留文件的属组标记(仅超级用户使用)-o:保留文件的属主标记(仅超级用户使用)-D:保留设备文件及其他特殊文件
-a:归档模式,递归并保留对象属性,等同于 -rlptgoD
-v:显示同步过程的详细(verbose)信息
-z:在传输文件时进行压缩(compress)-H:保留硬连接文件
-A:保留 ACL 属性信息
--delete:删除目标位置有而原始位置没有的文件
--checksum:根据对象的校验和来决定是否跳过文件

rsync 是一款快速增量备份工具,支持:
(1)本地复制;
(2)与其他 SSH 同步;
(3)与 rsync 主机同步。

(1)本地复制
[root@localhost ~]# rsync /etc/passwd 123.txt
// 类似于 cp 命令
(2)与其他 SSH 同步
[root@localhost ~]# rsync -av root@192.168.1.2:/root/123.txt .
root@192.168.1.2's password:
(3)与 rsync 主机同步
[root@localhost ~]# rsync -avz backuper@192.168.1.1::wwwroot /root
或者
[root@localhost ~]# rsync -avz rsync://backuper@192.168.1.1/wwwroot /root

这两种命令效果是一样!
上传只需将目录调换顺序即可 (确保对上传的目录具有写入权限)
在同步源端输入以下命令,方可执行写入权限

[root@localhost ~]#chmod 777  /var/www/html
[root@localhost ~]# rsync -avz /root backuper@192.168.1.1::wwwroot

但是在现实工作环境中,备份工作通常是按计划重复执行的,比如:

[root@localhost ~]# vim /root/123.pass
123456
// 任意创建一个文件用于存放 rsync 授权用户的密码信息
[root@localhost ~]# chmod 600 /root/123.pass
// 必须设定 600 权限,否则执行时将会报错
[root@localhost ~]# crontab -e
// 创建计划任务
30 22 * * * /usr/bin/rsync -az --delete --password-file=/root/123.pass backuper@192.168.1.1::wwwroot /a
// 每天晚上 22:30 执行脚本
[root@localhost ~]# systemctl restart crond
// 重新启动 crond 服务

关于 crond 计划任务配置文件的格式(从上到下):
通过 rsync 实现远程同步

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3150字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7994294
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...