rsync

基于 rsync 和 ln 实现“写时复制”的快照备份功能

天大地大妈咪最大 提交于 2020-04-06 13:48:28
一、基本原理 这里“写时复制”加了一个引号,因为这是专门针对使用rsync备份时的写时复制效果,而不是事实上的写时复制(copy-on-write),其达到的目的如下: 使用 rsync 备份数据后,立即创建一份快照: 该快照的数据状态不会因为之后的同步行为被改变,而是始终保持快照创建时的状态。 该快照不会占用额外的存储空间。 再次使用 rsync 备份,原文件发生变化,或出现新的文件,则只有发生变化的文件和新出现的文件才会占用新的存储空间。 实现这一功能,主要依赖于一个事实: 使用 rsync 进行备份时,针对内容发生变化的文件,新备份的文件与原文件对比,inode 将被改变。 我们知道,Linux 文件系统中以 inode 作为文件索引,inode 编号相同的多个文件称为硬链接,指向的是硬盘中同一块数据,占用同一份存储空间。多个硬链接之间地位等同,没有主从之分,只要有一份硬链接拷贝没有删除,这个文件所占用的存储空间就不会释放出来。我们使用 rsync 进行备份时,如果文件内容没有发生变化,则rsync跳过该文件不作处理,如果文件内容发生变化,rsync 则删除原文件并重新复制文件为同一文件名,此时虽然文件相同,但 inode 将发生变化,表示备份前后的文件是文件名相同的不同文件。 基于这个事实,我们可以在备份完成后,对每一个文件创建硬连接,并以相同的目录结构保存

rsync+inotify实时同步环境部署

。_饼干妹妹 提交于 2020-04-06 00:13:10
rsync 作用: 实现文件的备份 备份位置可以是当前主机,也可以是远程主机 备份过程可以是完全备份,也可以是增量备份 功能: 1、类似于cp的复制功能 将本地主机的一个文件复制到另一个位置下。 2、将本地主机的文件推送到远程主机,也可以从远程主机拉取文件到本地。 3、显示文件列表 使用模式 shell模式 本地复制功能 远程shell模式 可以利用ssh来实现数据的加密到远程主机 守护进程(服务器模式) rsync工作在守护进程模式下 列表模式 ls 仅仅显示内容,不做操作 确保各个主机的时间同步 [root@ntp ~]# crontab -l * * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com &>/dev/null * * * * * /usr/sbin/hwclock -w &>/dev/null [root@samba ~]# crontab -l * * * * * /usr/sbin/ntpdate -u 192.168.85.132 & > /dev/null [root@backup ~]# crontab -l * * * * * /usr/sbin/ntpdate -u 192.168.85.132 & > /dev/null rsync+inotify rsync+sersync rsync只负责传递文件到远程主机

第三十二天-rsync高级同步工具基础

最后都变了- 提交于 2020-04-03 04:32:03
目录:   1、rsync介绍   2、rsync工作方式   3、rsync命令使用,参数说明   4、rsync服务端,客户端安装配置     1.服务端安装配置     2.客户端安装配置   5、rsync排错注意 1、rsync介绍   Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作平台。   rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。 rsync 包括如下的一些特性: 支持拷贝特殊文件如链接文件,设备等; 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能; 可以做到保持原文件或目录的权限,时间,软硬链接,属主、组等所有属性均不改变-p 可实现增量同步,即只同步发生变化的数据,因此数据传输效率很高; 可以使用rcp、rsh、ssh等方式来配合传输文件(rsync本身不对数据加密); 可以通过socket(进程方式)传输文件和数据;   支持匿名的或认证

linux系统中Rsync文件同步方案

一曲冷凌霜 提交于 2020-03-30 17:21:51
linux服务器下Rsync文件同步配置 Rsync(remote synchronize) 远程数据同步工具,可以使用“Rsync算法” 同步本地和远程主机之间的文件、Rsync的好处是只同步两个文件不同的部分, 相同的部分不在传递、类似于增量备份,这使的在服务器传递备份文件或者同步文件。 crontab配合rsync 使用可达到定时备份同步任务。 Rsync部署环境 1、服务器准备 | Host | IP | ----------| | Server | 192.168.60.110 | ----------| | client | 192.168.60.80 | ----------| 2、Server 2.1、ubuntu 16.04默认已安装rsync,直接修改它的配置文件即可。 sudo vim /etc/default/rsync RSYNC_ENABLE=true #false改true 3、修改配置文件 3.1、 rsync佩在文件默认在/usr/share/doc/rsync/examples/下,需要手动将配置文件拷贝到/etc目录下, sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc 3.2、修改conf配置文件。 sudo vim /etc/rsyncd.conf #motd file=/etc

实现数据实时同步

让人想犯罪 __ 提交于 2020-03-24 11:21:44
一、为什么要用rsync+sersync架构? 1、sersync是基于inotify开发的,类似于inotify-tools的工具 2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录 二、rsync+inotify-tools与rsync+sersync架构的区别? 1、rsync+inotify-tools a、inotify只能记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来; b、rsync在同步的时候,并不知道具体是哪个文件或目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此效率很低 2、rsync+sersync a、sersync可以记录被监听目录中发生变化的(增,删,改)具体某个文件或目录的名字; b、rsync在同步时,只同步发生变化的文件或目录(每次发生变化的数据相对整个同步目录数据来说很小,rsync在遍历查找对比文件时,速度很快),因此效率很高。 同步过程: 在同步服务器上开启sersync服务,sersync负责监控配置路径中的文件系统事件变化; 实际上sersync就是监控本地的数据写入或更新事件

10 篇对初学者和专家都有用的 Linux 命令教程

删除回忆录丶 提交于 2020-03-23 20:38:18
3 月,跳不动了?>>> 在这有关 Linux 命令的十大文章中,了解如何使 Linux 发挥所需的作用。 很好地 使用 Linux 意味着了解有哪些命令以及它们可以为你执行的功能。 《在 Linux 命令行下使用“原力”》 原力force有光明的一面和黑暗的一面。正确理解这个对于真正掌握它至关重要。Alan Formy-Duval 在他的文章《 在 Linux 命令行下使用“原力” 》中,解释了一些流行的、有时是危险的命令的 -f 选项(也称为 --force )。 《Linux useradd 命令介绍》 共享帐户是一个坏主意。相反,请使用典型的 useradd 命令为不同的人(甚至是不同的角色)分配单独的帐户。作为其经典的 Linux 管理基础系列的一部分,Alan Formy-Duval 提供了《 Linux useradd 命令介绍 》,并且像往常一样,他用 朴实明白的语言 对其进行了解释,以便新老管理员都可以理解。 《用 Linux 命令显示硬件信息》 机器 里面 是什么?有时不使用螺丝刀检查硬件很有用。无论是你正在使用的计算机,还是在商店购买前进行测试的计算机、或者是正在尝试维修的计算机,在《 用 Linux 命令显示硬件信息 》中,Howard Fosdick 提供了或流行或晦涩难懂的命令,以帮助你深入了解计算机的硬件信息。 《如何在 Linux 上使用

rsync报错

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-23 16:17:34
错误一: [root@localhost opt]# rsync -avz backuper@192.168.7.128::wwwroot /opt @ERROR: access denied to wwwroot from unknown (192.168.7.129) rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.9] 解决办法 检查同步源rsync的配置文件hosts allow是否开放了目标的IP地址段 错误二: [root@localhost opt]# rsync -avz backuper@192.168.7.128::wwwroot /opt rsync: failed to connect to 192.168.7.128 (192.168.7.128): No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.9] 解决办法 检查防火墙规则是否增加了873端口,或者直接关闭防火墙 错误三: [root@localhost opt]# rsync -avz backuper@192

linux防火墙

别说谁变了你拦得住时间么 提交于 2020-03-22 04:10:45
從第七章的圖 7.1-1 我們可以發現防火牆是整個封包要進入主機前的第一道關卡,但,什麼是防火牆?Linux 的防火牆有哪些機制? 防火牆可以達到與無法達到的功能有哪些?防火牆能不能作為區域防火牆而不是僅針對單一主機而已呢?其實,Linux 的防火牆主要是透過 Netfilter 與 TCP Wrappers 兩個機制來管理的。其中,透過 Netfilter 防火牆機制,我們可以達到讓私有 IP 的主機上網 (IP 分享器功能) ,並且也能夠讓 Internet 連到我內部的私有 IP 所架設的 Linux 伺服器 (DNAT 功能)!真的很不賴喔! 這一章對您來說,也真的有夠重要的啦! 转自: http://linux.vbird.org/linux_server/0250simple_firewall.php 9.1 認識防火牆   9.1.1 開始之前來個提醒事項   9.1.2 為何需要防火牆   9.1.3 Linux 系統上防火牆的主要類別   9.1.4 防火牆的一般網路佈線示意   9.1.5 防火牆的使用限制 9.2 TCP Wrappers   9.2.1 哪些服務有支援 : ldd   9.2.2 /etc/hosts.{allow|deny} 的設定方式 9.3 Linux 的封包過濾軟體: iptables   9.3.1 不同 Linux

10 篇对初学者和专家都有用的 Linux 命令教程

梦想的初衷 提交于 2020-03-20 23:16:17
3 月,跳不动了?>>> 在这有关 Linux 命令的十大文章中,了解如何使 Linux 发挥所需的作用。 很好地 使用 Linux 意味着了解有哪些命令以及它们可以为你执行的功能。 《在 Linux 命令行下使用“原力”》 原力force有光明的一面和黑暗的一面。正确理解这个对于真正掌握它至关重要。Alan Formy-Duval 在他的文章《 在 Linux 命令行下使用“原力” 》中,解释了一些流行的、有时是危险的命令的 -f 选项(也称为 --force )。 《Linux useradd 命令介绍》 共享帐户是一个坏主意。相反,请使用典型的 useradd 命令为不同的人(甚至是不同的角色)分配单独的帐户。作为其经典的 Linux 管理基础系列的一部分,Alan Formy-Duval 提供了《 Linux useradd 命令介绍 》,并且像往常一样,他用 朴实明白的语言 对其进行了解释,以便新老管理员都可以理解。 《用 Linux 命令显示硬件信息》 机器 里面 是什么?有时不使用螺丝刀检查硬件很有用。无论是你正在使用的计算机,还是在商店购买前进行测试的计算机、或者是正在尝试维修的计算机,在《 用 Linux 命令显示硬件信息 》中,Howard Fosdick 提供了或流行或晦涩难懂的命令,以帮助你深入了解计算机的硬件信息。 《如何在 Linux 上使用

运维工程师职业技能发展路线框架

你。 提交于 2020-03-20 12:38:47
运维框架 目录 运维框架 1 1. 基础知识 5 1.1 系统原理 5 1.2 命令基础 6 1.3 网络基础 6 1.4 排错基础 6 1.5 优化基础 6 1.6 安全基础 6 1.7 原理基础 6 2. WEB 管理 7 2.1 Nginx 7 2.1.1 部署 7 2.1.2 优化 7 2.1.3 备份 7 2.1.4 恢复 7 2.2 Httpd 7 2.3 Tomcat 7 2.4 IIS 7 3. 数据库 7 3.1 MySQL 7 3.1.1 部署 7 3.1.2 优化 7 3.1.3 备份 7 3.1.4 恢复 7 3.2 Oracle 8 3.3 MongoDB 8 3.4 Redis 8 3.5 Memcached 8 4. 消息队列 8 4.1 ActiveMQ 8 4.2 RabbitMQ 8 4.2.1 部署环境 8 4.2.2 版本依赖 8 4.2.3 安装包下载地址 8 4.2.4 安装步骤 8 4.2.5 常用命令 9 5. 监控 11 5.1 Zabbix 11 5.2 Prometheus 11 5.3 Cacti 11 5.4 Nagios 11 6. CI/CD 12 6.1 Jenkins 12 7. 日志管理 12 7.1 ELK 12 8. 高可用 / 集群 12 8.1 Lvs 12 8.2 Keepalived 12 8.3