Linux 文件实时备份 rsync+lsyncd

这篇具有很好参考价值的文章主要介绍了Linux 文件实时备份 rsync+lsyncd。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、原理和说明

lsyncd官网

(一)软件说明

目的是每次只把新修改的同步,而不是全量备份。
Rsync(同步):将一个服务器的一个文件夹的内容提交到另外一个服务器的文件夹
lsyncd(差异检测并调用rsync):把差异的找出来,然后运行脚本

(二)本方法说明

采用的是推送模式,即需要备份文件的服务器(客户端)向备份服务器(服务端)推送
客户端:客户端的文件需要被备份
服务端:接收客户端的文件并保存的

(三)演示说明

以下的演示中,两台设备信息如下
注意,下面的备份目录根据自己情况调整
客户端(文件需要被备份)

局域网ip:192.168.0.188
系统:debian11
备份文件夹:/aaa

服务端(存放备份文件的)

局域网ip:192.168.0.199
系统:debian11
备份文件夹:/cloud/bf_1

(四)其它说明

需要先开放对应端口,默认是873。另外注意selinux,如果搞不定就关了selinx

二、服务端配置(接收备份文件的)

服务端只需要安装rsync

1.安装rsync

apt-get install rsync

2.创建接收备份后保存的目录

目录不要直接抄

mkdir /cloud/bf_1
mkdir /cloud/bf_2

3.创建同步的账号密码

使用下面的命令直接写入,也可以vi打开后编辑

echo "rsync_backup:123456" >/etc/rsync.password && chmod 600 /etc/rsync.password

账号为:rsync_backup
密码为:123456

4.配置rsync

vi /etc/rsyncd.conf

内容如下

uid = root  # linux的用户
gid = root  # linux的用户组
use chroot = yes
max connections = 1024
timeout = 600
port=873    # 指定rsync端口。默认873

[backup] #备份的项目模块,如果有多个,也是这样设置
path = /cloud/bf_1/  # 备份保存的位置
read only = no
secrets file =/etc/rsync.password
auth users = rsync_backup
list = no
pid file =/var/run/rsyncd.pid
lock file =/var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors = yes
hosts allow = 192.168.0.188 #如果允许所有的IP,则使用*

5.测试并开机启动

systemctl daemon-reload && systemctl start rsync
systemctl status rsync

开机启动

systemctl enable rsync

三、客户端配置(文件需要被备份的)

需要安装rsync和sersync

(一)安装配置rsync

1.包安装

apt-get install rsync

2.配置

vi /etc/rsyncd.conf

内容如下

uid = root
gid = root
use chroot = no
max connections = 3600
pid file =/var/run/rsyncd.pid
lock file =/var/run/rsync.lock
log file = /var/log/rsyncd.log

保存后退出

3.创建访问服务端的密码(服务端那也设置过一次,这里相同,但是没有前面的账户名了)

echo "123456" >/etc/rsync.password && chmod 600 /etc/rsync.password

4.调整系统配置

echo 81920 >/proc/sys/fs/inotify/max_user_watches
echo 327678 >/proc/sys/fs/inotify/max_queued_events

5.测试(可以省略,这个是手动的命令)

如果有初始文件,手动运行一下建立初始文件
将/aaa目录下的文件保存到192.168.0.199,用rsync_backup账户登录,存到模块为backup的地方

rsync -avzP /aaa/ rsync_backup@192.168.0.199::backup --password-file=/etc/rsync.password

如果测试成功,说明rsync已经配置好了,可以手动备份了。

6.启动并开机启动或者关掉

注意,如果不是为了双向同步,客户端的这个rsync可以关掉,我这里还是设置开启。
但是不能不安装rsync,因为lsyncd也要调用rsync命令

systemctl daemon-reload && systemctl restart rsync && systemctl enable rsync

如果要关掉

systemctl daemon-reload
systemctl stop rsync && systemctl disable rsync

(二)安装配置sersync

封装了inotify-tools,所以无需再安装

1.安装lsyncd

apt-get -y install lsyncd

2.配置文件

mkdir /etc/lsyncd
vi /etc/lsyncd/lsyncd.conf

内容如下

settings {
	logfile = "/var/log/lsyncd/lsyncd.log",
	statusFile = "/var/log/lsyncd/lsyncd.status",
	insist = true,
	statusInterval = 10
}

sync {
	default.rsync,
	source="/aaa",
	target="rsync_backup@192.168.0.199::backup",
	rsync = {
			binary = "/usr/bin/rsync",
			archive = true,
			compress = true,
			verbose   = true,
			--delete =  true,
			 _extra = {"--password-file=/etc/rsync.password"}
	}
}

创建日志文件

mkdir /var/log/lsyncd
vi /var/log/lsyncd/lsyncd.log

直接空白保存退出,防止程序没有权限无法新建文件

3.修改启动脚本文件

通过脚本执行状态查询具体位置(可能不同系统不一样,但是这种方法肯定能找到)

systemctl status lsyncd

装好后是这里

vi /etc/init.d/lsyncd

找到并修改这一行为上面配置的文件的地址,修改如下,保存退出
Linux 文件实时备份 rsync+lsyncd

4.测试启动

刷新systemctl脚本并重新启动

systemctl daemon-reload && systemctl restart lsyncd

注意:只有在该运行之后的改动文件才会自动备份,如果有初始文件,手动同步一次即可

此时正常运行,注意:文件同步会有几秒的延迟,这也是避免不必要的资源浪费

四、其它说明

(一)一个服务端,多个客户端服务器怎么配置

服务端无需多个实例,只需要在配置文件

vi /etc/rsyncd.conf

最后添加形如如下的内容(里面的目录只是演示),保存后重启服务即可

[backup]
path = /cloud/edp_bf/
read only = no
secrets file =/etc/rsync.password
auth users = rsync_backup
list = no
pid file =/var/run/rsyncd.pid
lock file =/var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors = no
hosts allow = 192.168.0.188

[doc]
path = /var/www
read only = no
secrets file =/etc/rsync.password
auth users = rsync_backup
list = no
pid file =/var/run/rsyncd.pid
lock file =/var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors = no
hosts allow = 192.168.0.166

systemctl restart rsync

客户端的配置和上面的一致,这里不再多写一遍了,注意模块名称(就是上面的[ ]中的名称)

(二)客户端或服务端掉线

如果服务端掉线,客户端会不断访问并记录错误日志,注意排查问题

(三)报错

如果报错,在服务端

systemctl status rsync

查看具体的报错内容,这里是详细内容,然后复制错误代码查询即可

1.rsync error: error starting client-server protocol (code 5) at main.c [sender=3.1.2]

服务端需要添加客户端的ip白名单。
在服务端

vi /etc/rsyncd.conf

在“hosts allow =”这里加上客户端ip ,然后重启软件接口文章来源地址https://www.toymoban.com/news/detail-491301.html

systemctl restart rsync

到了这里,关于Linux 文件实时备份 rsync+lsyncd的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】Rsync远程同步及备份工具(Rsync简介、Rsync安装、rsync认证方式)

    rsync(Remote synchronization)是Liunx/Unix下的一个 远程数据同步工具 。 它可通过LAN/WAN(局域网/广域网) 快速同步多台主机间的文件和目录 ,并适当利用rsync算法(差分编码)以减少数据的传输。 rsync算法并不是每一次都整份传输,而是 只传输两个文件的不同部分 ,因此其传输

    2024年02月13日
    浏览(27)
  • Linux服务器与群晖rsync同步,linux服务器通过rsync的方式备份数据到群晖

    准备需要备份linux服务器的配置,安装rsync即可 1.登录群晖服务器,点击套件中心  2.点击红色框框,跳转到套件界面 3.点击Active Backup for Business 4.点击文件服务器-添加服务器-选择rsync服务器-下一步 5.填写远程服务器信息 6.在群晖系统上创建备份任务 打开群晖的Active Backup fo

    2024年02月10日
    浏览(43)
  • !!!!建议收藏 Rsync项目实践:数据备份 (文件同步到服务器)

    基本备份要求 准备三台服务器,两台web服务器、一台rsync备份服务器 主机名分别为web01、web02、backup [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rLf7EhNj-1666099690586)(…/…/图片/image-20221018164708556.png)] 客户端需求 1.客户端每天凌晨01点在服务器本地

    2023年04月08日
    浏览(66)
  • 【Linux】企业实战项目rsync+inotify实现实时同步(inotify安装及介绍、rsync + inotify 实现实时同步、rsync + inotify实现开机自启 )

    rsync与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 随着应用系统规模的不断扩大,对数据的安全性和可

    2024年02月04日
    浏览(37)
  • rsync+inotify实时同步 和 GFS分布式文件系统概述

    目录 一、rsync+inotify实时同步 1.1.实时同步的优点 1.2.Linux内核的inotify机制 1.3.发起端配置rsync+Inotify 1.4.配置远程登陆 1.4.1.修改rsync源服务器配置192.168.190.101 ​编辑  1.4.2.配置server 192.168.190.102 二、GFS 2.1.GlusterFS简介 2.2.GlusterFS特点 2.3.GlusterFS术语 2.4.模块化堆模式架构 2.5.Gluste

    2024年04月16日
    浏览(30)
  • 数据备份系列:Rsync 备份详解(一)

    支持拷贝特殊文件,如连接文件、设备等。 可以有排除指定文件或目录同步的功能,相当于打包命令 tar 的排除功能。 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变(参数:–p)。 可以实现增量同步,既只同步发生变化的数据,因此数

    2024年02月01日
    浏览(29)
  • Linux下的scp 、rsync两种命令同步文件

    scp 还非常不占资源,不会提高多少系统负荷,在这一点上, rsync 就远远不及它了。虽然 rsync比scp 会快一点,但当小文件众多的情况下, rsync 会导致硬盘I/O非常高,而scp基本不影响系统正常使用。 语法 示例 在Linux系统中, rsync 是一种功能强大且广泛使用的文件同步工具。它

    2024年02月14日
    浏览(30)
  • rsync 远程同步实现快速、安全、高效的异地备份

    目录 1 rsync 远程同步 1.1 rsync是什么? 1.2 rsync同步方式 1.3 rsync的特性 1.4 rsync的应用场景 1.5 rsync与cp、scp对比 1.6 rsync同步源 2 配置rsync源服务器 2.1 建立/etc/rsyncd.conf 配置文件 3 发起端 4 发起端配置 rsync+inotify 4.1 修改rsync源服务器配置文件 4.2 调整 inotify 内核参数 4.3 安装 inoti

    2024年02月05日
    浏览(30)
  • rsync 远程同步----------安全高效的异地备份方案

    目录 一、rsync介绍 rsync和cp的区别 rsync和scp的区别 二、rsync同步方式 rsync备份的方式 三、配置rsync源服务器 ①本地复制 ②下行同步 ③上行同步 四、常用Rsync命令 五、配置源的两种表达方法 六、部署rsync下行同步 ①环境准备 ②配置rsync源服务器-----------(192.168.246.8) 1)修改

    2024年04月14日
    浏览(28)
  • rsync远程同步实现快速、安全、高效的异地备份

    目录 一、rsync介绍 1、rsync是什么? 2、rsync同步方式 3、rsync的特性 4、rsync的应用场景 5、rsync与cp、scp对比 6、rsync同步源 二、rsync命令 1、常用选项 2、实例:本地复制对比 3、配置源的两种表示方法 三、配置rsync下行同步 四、rsync实时同步(inotify工具) 1、定期同步的不足

    2024年02月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包