GitLab数据备份与恢复
GitLab需要备份的数据有2块,一个是/etc/gitlab下的配置文件,还有一个是使用gitlab-rake指令备份的相关文件
GitLab配置文件GitLab默认的配置文件路径:/etc/gitlab/,需要手工备份
tar cvf /opt/backup/gitlab/conf/`date +%Y%m%d`-gitlab.tar.gz /etc/gitlab
编辑备份参数vim /etc/gitlab/gitlab.rb#备份路径gitlab_rails['backup_path'] = "/opt/nas/gitlabback/data"#备份包权限gitlab_rails['backup_archive_permissions'] = 0644#备份保留时间,单位秒,默认7天gitlab_rails['backup_keep_time'] = 604800#重载配置,使之生效gitlab-ctl stopgitlab-ctl reconfiguregitlab-ctl start
执行备份 ...
Jenkins数据备份与恢复
生产环境我们肯定会考虑jenkins的数据备份和恢复问题,ThinBackup插件方便我们通过界面方式快速备份数据与恢复
安装插件在jenkins插件市场搜索ThinBackup,并下载安装
备份在Manage Jenkins -> ThinBackup -> setting 配置备份信息各参数说明
#备份目录,用于存储备份的文件Backup directory#全量备份计划,跟crontab一样Backup schedule for full backups#进行差异化备份的计划任务,同上Backup schedule for differential backups#备份的最大数量Max number of backup sets#不需要进行备份的文件的正则表达式Files excluded from backup (regular expression)#等待jenkins空闲多长时间后进行备份Wait until Jenkins/Hudson is idle to perform a backup#备份构建结果Backup build results#备份`$ ...
MySQL通过binlog日志恢复数据
如果是云数据库,一般可以通过控制台看到binlog日志记录时间等信息,如果是本地数据库可以通过一下命令查看信息
#查看所有binlog日志列表show master logs;#查看最后一个binlog日志编号及其最后一个操作事件pos结束点的值show master status;#查看mysql-bin.000003具体信息show binlog events in ‘mysql-bin.000003’;
将二进制日志转成可阅读的文档
/usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000003 > mysql-bin.000003.txt
查看二进制文件
# at 30857945#200812 3:17:00 server id 2798978092 end_log_pos 30858334### UPDATE `staff`.`info`### @1='1'### SET### @1='2'# at 308583 ...
HAProxy+PXC实现负载均衡
PXC集群搭建请参考之前的文章
安装HAProxy下载:https://src.fedoraproject.org/repo/pkgs/haproxy/,我使用的是1.8.20版本
#解压tar zxvf haproxy-1.8.20.tar.gzcd haproxy-1.8.20#编译make TARGET=linux31make install PREFIX=/usr/local/haproxy#复制配置文件到指定目录mkdir -p /usr/local/haproxy/confcp /usr/local/haproxy-1.8.20/examples/option-http_proxy.cfg /usr/local/haproxy/conf/haproxy.cfg
配置## demo config for Proxy mode# global maxconn 20000 ulimit-n 16384 log 127.0.0.1 local0 info uid 200 g ...
HAProxy配置参数详解
HAProxy配置文件分成五个部分,主要介绍常用配置 1.global:设置全局配置参数,主要是进程、操作系统相关的配置 2.defaults:配置默认参数,这些参数可以被用到frontend、backend、listen组件 3.frontend:接收请求的前端虚拟节点,可以添加相应的规则匹配到后端backend 4.backend:后端真实服务器集群配置 5.listen:frontend和backend的组合
global组件global #以守护进程方式启动 daemon #设置运行haproxy的用户和组 user haproxy group haproxy #设置haproxy启动时的进程数 nbproc 4 #每个进程支持的最大并发连接数 maxconn 20000 #设置最大打开文件描述符 ulimit-n 16384 #设置haproxy的pid文件 pidfile /var/run/haproxy. ...
MySQL之高可用PXC集群搭建
Percona XtraDB Cluster是MySQL高可用的一种方案,PXC集群是以节点组成(建议至少3个节点),每个节点都是常规的MySQL或者Percona Server,并且所有节点都是可读可写的,集群中的每个节点都保留着完整的数据,相对于主从架构,PXC更加体现出数据的强一致性。
优点(1)服务高可用:所有节点数据是相同的,所有节点可读可写,只要存在一个节点可用,整个服务还能正常运行(2)同步复制:当请求过来,只有所有节点成功提交,否则算提交失败(3)多主复制:所有节点可读可写总结来说PXC最大的优势:强一致性、所有节点可读可写、无同步时延
缺点(1)仅支持InnoDB事务控制(2)数据重复,所有节点都保留一份完整的数据(3)PXC具有强一致性,必须所有节点执行成功才算提交成功,写入效率取决于节点最弱的一台(4)新加入节点需要复制一份完整的数据,采用全量数据传输(SST)代价高(5)所有表都要有主键(6)存在较多的锁冲突、死锁问题(7)不支持LOCK TABLE(8)不支持XA
环境准备node1:192.168.37.142node2:192.168.37.143nod ...
利用GitLab的webhook来实现触发Jenkins自动操作
本文主要介绍GitLab、jenkins配置,以实现当GitLab提交事务时触发jenkins相应的操作
下载jenkins插件在jenkins插件中心下载Gitlab Hook、GitLab、Gitlab Authentication 插件
配置jenkins触发器首先记录图片上面的地址,点击Generate生成Secret token并记录
配置GitLab找到对应的仓库,点击Settings - Integrations 粘贴刚刚记录的 URL 和Secret token,点击Add webhook
测试
Jenkins配置邮件通知
主要介绍通过Extreme Notification Plugin插件来配置邮件通知功能
下载插件在插件市场下载安装 Extreme Notification Plugin
配置邮件服务在系统管理 - 系统配置里面找到 Extended E-mail Notification
pipeline发送邮件post{ always { script { emailext body: '''<html> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> <table width="95%" cellpadding="0" cellspacing="0" ...
MySQL如何通过binlog日志排查问题
binary log中记录了数据库内容的变化,这些变化是以二进制的方式存储到
1.通过mysqlbinlog工具,将binlog日志以文本形式显示
/usr/local/mysql/bin/mysqlbinlog mysql-bin.000183 > mysql-bin.000183.txt
2.这边转成文本后,里面记录的sql语句是经过64位编码转换后的内容,使用mysqlbinlog对应的参数即可查看具体sql内容
/usr/local/mysql/bin/mysqlbinlog --base64-output=decode-rows -v --start-datetime="2017-08-12 15:00:19" --stop-datetime="2017-08-12 15:30:19" mysql-bin.000183 > mysql-bin.000183.txt
经过解码后,在mysql-bin.000183.txt文件中,以 ### 开头的就是具体的sql语句
RDS全量数据恢复至本地MySQL
从RDS备份与恢复下载需要恢复的数据(_qp.xb 后缀)
版本问题MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3MySQL 5.7版本需要安装 Percona XtraBackup 2.4MySQL 8.0版本需要安装 Percona XtraBackup 8.0
安装innobackupex#安装依赖库yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev-devel#安装wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpmyum -y install percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
恢复恢复前,停止本地mysql服务
#解包cat ...