rsync

Linux 实现本、异地远程数据实时同步功能

霸气de小男生 提交于 2020-05-06 13:30:36
这篇文章主要介绍了 Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能,需要的朋友可以参考 0x0 测试环境 总部生产服务器与分部备份服务器要求实现异地数据备份,环境如下 ** centos 6.5** 生产服务器目录: /home/zytest/files 备份服务器目录: /home/zytest/files 用户 / 密码: zytest / zytest 0x1 生产服务器环境搭建 0x1.1 安装gcc编译器和rsync yum install gcc rsync -y 0x1.2 拷贝inotify到服务器并解压 cd /root tar xfvz inotify-tools-3.13.tar.gz 0x1.3 进入inotify 目录安装 cd inotify-tools-3.13 ./configure make make install /usr/local/bin/inotifywait ##检查是否安装成功 0x2 备份服务器环境搭建 0x2.1 安装 xinetd 和 rsync yum install xinetd rsync -y 0x3 以下内容两台服务器同步操作 useradd -u 600 zytest passwd zytest zytest su - zytest -c 'mkdir /home/zytest/files

keepalived是什么及作用

末鹿安然 提交于 2020-05-04 00:06:42
keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。 keepalived工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。 keepalived的配置文件 keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress

用Rsync实现windows下同步linux服务器的数据

白昼怎懂夜的黑 提交于 2020-05-02 14:29:16
一:环境   1、服务端:Red Hat Enterprise Linux Server release 6.4 (Santiago)   2、客户端:windows7旗舰版64位   3、同步对象:测试数据   4、Rsync介绍:rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。是一款非常理想的数据同步工具   Rsync的好处:支持增量备份,对于很多大的数据文件来说用rsync是一个很理想的工具,既能节省磁盘空间还能提高备份相率   5、注意事项:此种同步方式仅限rsync的daemon模式 二:无差异同步示意图 三:服务端配置文件   1、 rsync配置文件:/etc/rsyncd.conf uid = rsync # rsync用户,要是0的话代表所有用户 gid = rsync # rsync用户组 use chroot = no # 安全考虑,出现BUG可以把危险的数据定位到一个chroot目录下去,避免恶意攻击 max connections = 200 # 最大连接数 timeout = 300 # 超时时常 pid file = /var/run/rsyncd.pid # 服务端进程号 lock file = /var/run/rsync.lock #

Linux三阶段之二:备份服务(rsync)

て烟熏妆下的殇ゞ 提交于 2020-05-02 11:38:50
二、备份服务(rsync) (一)rsync服务介绍 Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操作系统平台。 Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。减少通过网络数据发送数量,利用只发送源文件和目标文件之间的差异信息,从而实现数据的增量同步复制。 (二)rsync服务命令简单应用 1、Rsync复制同步数据原理 在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以可以实现快速的同步备份数据,即采用增量复制方法对数据信息进行同步,与传统cp,scp拷贝工具的全量拷贝复制截然不同,增量同步复制数据,在效率上远远高于全量复制。 2、Rsync备份软件7大特性总结: 支持拷贝普通文件与特殊文件如链接文件,设备等。

jenkins发布程序触发shell调用python脚本刷新akamai cdn api

旧街凉风 提交于 2020-05-02 04:02:07
刷新cdn的流程: jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 --> 触发python脚本读取目录中的url发送给akamai的api进行cdn的刷新 参考文档创建client api,此次我们的账号没有创建client api的权限,需要管理员处理 文档地址:https://developer.akamai.com/api/getting-started#beforeyoubegin 创建和api交互的client api后会得到类似如下信息 client_secret = "pass" host = "host.purge.akamaiapis.net" access_token = "token" client_token = "client_token" api参考地址: https://github.com/akamai/api-kickstart jenkins配合shell脚本触发python自动刷新akamai cdn 项目背景: 设计中心开启了统一资源管理系统neveragain.chinaosft.com,即公司后续新开发的站点引用的image,css,js等公共资源统一从该系统获取 需求:

Linux实战教学笔记29:MySQL数据库企业级应用实践

≡放荡痞女 提交于 2020-05-01 06:28:54
第二十九节 MySQL数据库企业级应用实践 一,概述 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人数众多。其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,也为MySQL的推广与使用带来了更多的利好。在MySQL成长与发展过程中,支持的功能逐渐增多,性能也不断提高,对平台的支持也越来越多。 MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,再将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样的设计增加了MySQL的读取速度,而且灵活性和可管理性也得到了很大提高。访问及管理MySQL数据库的最常用标准化语言为SQL结构化查询语言。 1.2 MariaDB 数据库的诞生背景介绍 自甲骨文公司收购MySQL后,其在商业数据库与开源数据库领域市场的占有份额都跃居第一,这样的格局引起了业内很多的人士的担忧,因为商业数据库的老大有可能将MySQL闭源。为了避免Oracle将MySQL闭源,而无开源的类MySQL数据库可用,MySQL社区采用分支的方式来避开这个风险。MariaDB数据库就这样诞生了,MariaDB是一个向后兼容,可能在以后替代MySQL的数据库产品,其官方地址为:https://mariadb.org/ 。不过,这里还是建议大家选择更稳定

MySQL 主从分离(读写分离)原理知识要点

≯℡__Kan透↙ 提交于 2020-05-01 05:12:20
1、what 什么是读写分离? 读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 2、why 为什么要读写分离呢? 因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。 但是数据库的“读”(从oracle读10000条数据可能只要5秒钟)。 所以读写分离,解决的是,数据库的写入,影响了查询的效率。 3、when 什么时候要读写分离? 数据库不一定要读写分离,如果程序使用数据库较多时,而更新少,查询多的情况下会考虑使用,利用数据库主从同步 。可以减少数据库压力,提高性能。当然,数据库也有其它优化方案。memcache 或是 表折分,或是搜索引擎。都是解决方法。 4、主从复制与读写分离 在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。有点类似于前面我们学习过的rsync,但是不同的是rsync是对磁盘文件做备份,而mysql主从复制是对数据库中的数据、语句做备份。 4.1、 mysq支持的复制类型 1) 基于语句的复制

MySQL主从复制介绍:使用场景、原理和实践

耗尽温柔 提交于 2020-05-01 05:12:03
MySQL数据库的主从复制方案,和使用scp/rsync等命令进行的文件级别复制类似,都是数据的远程传输,只不过MySQL的主从复制是其自带的功能,无需借助第三方工具,而且,MySQL的主从复制并不是数据库磁盘上的文件直接拷贝,而是通过逻辑的binlog日志复制到要同步的服务器本地,然后由本地的线程读取日志里面的SQL语句重新应用到MySQL数据库中。 1.1.1 MySQL主从复制介绍 MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务器充当从服务器(Slave),接收来自主服务器binlog文件的日志内容,解析出SQL重新更新到从服务器,使得主从服务器数据达到一致。 如果设置了链式级联复制,那么,从(slave)服务器本身除了充当从服务器外,也会同时充当其下面从服务器的主服务器。链式级复制类似A→B→C的复制形式。 1.1.2 MySQL主从复制的企业应用场景 MySQL主从复制集群功能使得MySQL数据库支持大规模高并发读写称为可能,同时有效地保护了物理服务器宕机场景的数据备份。 应用场景1:从服务器作为主服务器的实时数据备份 主从服务器架构的设置,可以大大加强MySQL数据库架构的健壮性。例如:当主服务器出现问题时

Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

旧街凉风 提交于 2020-04-30 16:17:08
SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定; 在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。 SSH是专为远程登录会话和其他网络服务提供的安全性协议。 利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中, 绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。 在默认状态下,SSH服务主要提供两个服务功能: a 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;  b 另一个是类似FTP服务的sftp - server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。 # 1.2 SSH远程登录服务排错思路 01. 检查链路是否通畅---ping(icmp协议)/tracert/ traceroute 02. 检查链路是否阻断--- 将防火墙功能关闭 03. 检查服务是否开启---ss/netstat -lntup(服务端检查) /telnet/nmap/ nc(客户端检查) #

持续集成 & 持续部署 之 Github Actions

半世苍凉 提交于 2020-04-30 11:41:15
1. 配置 ssh 免密登录 看这篇简短的就够了 SSH 免密登录主机/服务器 怎么操作 ? 2. 定义 workflow Github Actions 针对项目语言提供了一系列模板,通过稍加修改并组合一些插件就可以完成基本的集成部署。 比如使用 rsync 部署的插件有 https://github.com/marketplace/actions/rsyncer-action 比如使用 ssh 执行远程命令的插件有 https://github.com/appleboy/ssh-action 具体使用到环境变量的配置,是在项目的 setting 里面左侧菜单的 secrets 一栏里添加,比如常用的是添加私钥。 3. 测试 如果 rsync 同步文件这一步执行时间很长,查看远程服务器上对应目录中是否有临时文件来确认传输没问题。 这里可以再利用 watch 命令观察一下,比如 watch -n 1 "ls -alh ./xx/" Video: https://www.bilibili.com/video/BV1Ci4y1t7vb Link: https://www.cnblogs.com/farwish/p/12782729.html 来源: oschina 链接: https://my.oschina.net/u/4383937/blog/4258999