如果数据库误操作想恢复数据.可以试试下面这个脚本.前提是执行DML操作. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 解析binlog生成MySQL回滚脚本 import getopt import sys import os import re import pymysql # 设置默认值 host = '127.0.0.1' port = 3306 user = '' password = '' start_datet…
#!/bin/bash # Node List PRE_LIST="192.168.222.163" # 预生产环境节点 GROUP1_LIST= ROLLBACK_LIST="192.168.222.163 192.168.222.164" # 回滚列表 # Date/Time Veriables LOG_DATE='date "+%Y-%m-%d"' LOG_TIME='date "+%H-%M-%S"' CDATE=$(…
一.部署机代码目录结构 使用www用户进行代码部署,所有部署机上需要创建www用户,并赋予根目录权限,同时配置公私钥认证建立信任关系. [www@ansible-node1 deploy]$ tree . ├── code │?? └── web-demo #存放代码 │?? ├── index.html │?? └── \\\ ├── config #存放服务器配置文件 │?? └── web-demo │?? ├── base │?? │?? └── config.ini │?? └── o…
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使用,二是可以失败后回滚. 本文使用gitlab webhook触发jenkins构建,jenkins执行shell命令--->mvn或者npm打包--->打包成docker镜像--->发布--->发布成功后用jenkins的git publisher插件push一个gitlab tag…
MySQL自己的 mysqlbinlog | mysql 回滚不好用,自己写个简单脚本试试: 想法是用mysqlbinlog把需要回滚的事务区域从mysql-bin.file中找到,然后通过脚本再插入DB. ## INSERT 需要将新增数据删除 对应DELETE ## DELETE 需要将删除数据恢复 对应INSERT ## UPDATE 需要将修改数据恢复 对应UPDATE ## 手动读取BINLOG,并找到对应位置和对应事务 ## 手动删除除事务外的其他说明语句 INSERT回滚最简单,其…
#!/bin/bash #script_version=v110 db_host=127.0.0.1 db_port=3306 db_username=db_test_inst db_passwd=`XXXXXXXXXXX` db_name=test MYDATE=`date +%Y%m%d%H%M%S` ROOT_PATH=`XXXX/${script_version}` MYSQL_PATH=${ROOT_PATH}/sql LOG_DIR=${LOG_DIR}/log LOG_FILE=$…
#!/bin/bash DATE=`date +%Y-%m-%d_%H-%M-%S` METHOD=$1 BRANCH=$2 GROUP_LIST=$3 function IP_list(){ if [[ ${GROUP_LIST} == "online-group1" ]];then Server_IP="192.168.7.105" echo ${Server_IP} elif [[ ${GROUP_LIST} == "online-group2&qu…
谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉 辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的安装包下载过程,责令整合.优化安装部署过程,简化安装流程,BOSS原话"你们是想玩s现场的运维兄弟吗?统统去出差-"小弟不才,有幸领到这一艰巨的任务,开始了一键部署的艰苦旅程- 一键部署的目的 1.简化产品的安装 能够自动部署相关服务(支持卸载.重复安装) 提供自动修改配置文件的能力,不需…
通过jenkins构建项目:version版本控制:udployer自动化集成:ucop业务巡检做到高效高可用的自动化体系.   1.0版本: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由python框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则文件DIY程度,减少新增服务带来的修改代码,实现扫描config自动化集成部署. 2.0版本: 版本控制 ,关联Jenkins实现自动化提交版本转测试 备份…
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: centos 7.0 64位 gitlab:v2.9.0 git:2.9 jenkins .git plugin.GitLab Plugin.Dynamic Parameter Plug-in等 ansible:2.1.0.0 各工具职能: 1.gitlab做版本管理 2.jenkins根据指定参数,分别执…
利用docker-compose一键部署 目录 利用docker-compose一键部署 前言 快速编写微服务 common-api nacos-server-provider nacos-server-consumer 编写docker-compose文件 common-api的Dockerfile nacos-server-provider的Dockerfile nacos-server-consumer的Dockerfile 编写docker-compose.yml文件 开始部署 取消部署…
前提条件: 1.必须有两台服务器,一个是生产环境,另一个是测试环境. 2.两台服务器上都必须安装了Jenkins. 3.其中,生产环境上的Jenkins已经开通的CLI的权限(Windows参考:http://www.cnblogs.com/EasonJim/p/6086018.html). 实现思路: 1.生产环境的Jenkins有两个工程解压和还原 2.测试环境的Jenkins有两个工程部署和回滚 3.测试环境部署工程时先压缩现有测试站点的包,通过FTP上传,完成后通过CLI调用生产环境的J…
概述 Azure DevOps Server(之前名TFS)是微软公司实现软件研发.测试和部署一体化的全流程解决方案.在近几年的研发过程中,Azure DevOps Server 大幅增强了软件部署过程的自动化功能.对于系统运维人员而言,确保软件的稳定运行,是自己的第一工作目标.但是,在信息技术飞速发展的今天,信息系统的升级变更已经成了家常便饭.每周升级.每天升级.甚至一天升级数次,都已经见怪不怪. 为了提高软件的变更效率和质量,许多运维部门都使用部署脚本,实现系统升级的自动化.在软件升级过程中…
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一键从测试环境发布到正式环境的工具,部署的大致思路如下(详细的操作点这里,有详细节点配置和部署配置): 前提:安装jenkins的环境为master,每一个生产环境为slave,slave是实时连接到master的. 1.测试环境上使用了CCNET进行每次的代码变更编译部署,在测试环境上进行编译的版本…
热部署的概念:当从老版本替换为新版本的nginx的时候,如果不热部署的话,会需要取消nginx服务并重启服务才能替换成功,这样的话会使正在访问的用户在断开连接,所以为了不影响用户的体验,且需要版本升级,就需要热部署来升级版本 版本回滚的概念:当新版本上线之后出现问题,需要回到老版本,这时候就需要做版本回滚,其实就是在你做版本升级的时候,将老版本备份以下,然后替换新版本,之后杀死新版本的进程便可以 实验步骤:1:先从官网上拷贝nginx-1.14.2版本的链接,且需要源码部署 2:解压在/opt/…
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者. 执行脚本,等脚本执行完成,即可使用mysql -u root -p点击回车即可进入. 2.MySQL及自动补全工具一键部署脚本(使用source或./执行脚本!) #!/bin/bash echo -e "----正在验证当前为仅主机还是NAT模式----" ping -c 2 -w…
一键部署mysql,php,nginx,通过源码安装部署 #!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############" echo "# 1. Install Nginx" echo "# 2. Install MySQL" echo "# 3. Install PHP" echo "# 4…
一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 #!/…
1.技能需求 完成自动化一键部署PHP需要:PHP(略懂),Shell(略懂),git(略懂) 2.最终效果 输入密码,回车,5~20秒后(一般一天一次持续交付,部署的代码量和sql脚本都不会很大) 执行产生的log文件.数据库备份和数据库执行结果在这里: 3.如何做的Part1-Git 首先要有一个VCS系统,我这里用的是Git客户端,本地和服务器都是.(没用过Git可以看这篇文章,我就是用它入门的) 这里只用到Git pull,其他的如svn等,都是一样的. Linux服务器装Git客户端,…
1.进入apache官网https://www.apache.org/,点击Download 2.如图选择 3.选择httpd 4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用 一.CentOS6 1.输入命令rz,会弹出对话框可以把windows的文件传到linux中去. 2.在弹出对话框中选择软件包--->添加--->确定.注意尽量将软件放在桌面,我把软件放在D盘,然后通过桌面的快捷方式添加后传到linux中的文件就已经被损坏.传进来的文件会存放到当前目录下. /us…
Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言     前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟迟没有推进.其原因主要在以下几个方面: 尚未实现部署之前的自动化备份 尚未实现部署出现问题后的自动化回滚 由于之前采用FTP上传部署需要生产环境开放FTP端口存在安全性问题且FTP会因为各种的网速问题,导致站点瞬间挂掉 只要解决以上三个问题,我们就可以初步实现生产环境的自动化部署. 系列文章 .NE…
分布式存储ceph相信大家比较熟悉了.某项目临时要做一个40个节点的存储集群.所以写了这个脚本. 一键部署脚本如下: git clone https://github.com/luckman666/deploy_ceph_cluster.git cd deploy_ceph_cluster chmod -R . # 编辑base.config ./deploy_ceph_master.sh root用户执行就行,osd划盘的时候需要给设备赋权为ceph:ceph权限. 大家可以关注我的个人公众号…
先下载好nginx安装包,解包之后可以执行下面的脚本,一键部署 cd nginx-1.12.2 useradd -s /sbin/nologin nginx./configuremakemake installyum -y install mariadb mariadb-server mariadb-develyum -y install php php-rpm php-mysqlsed -i '65,71s/#//' $filesed -i 'SCRUIPT_FILENAME/d' $file…
移动互联网时代,用户注意力的持续时间越来越短,他们追求便捷与高效.从账号密码登录.短信验证,到第三方登录甚至人脸识别登录,APP的注册/登录方式在逐步变化,开发者希望在这重要的交互端口提升用户的体验,并减少用户的流失.与此同时,面对层出不穷的密码破解术和薅羊毛方式,如何提升账户的安全,减少APP拉新.营销活动中的无用注册越来越被重视. 在这一背景之下,个推开发者服务新增“一键认证”产品,帮助APP解决登录流程冗长.虚假注册等问题.APP只需集成小巧灵活的一键认证SDK,就可以实现免密登录功能.基…
一.检查机器是否安装gcc.unzip.wget 二.部署模式 #模式1: 将所有主从节点以及sentinel节点部署在同一台机器上 #模式2: 将一个数据节点和一个sentinel节点部署在一台机器上,如master+sentinel1,slave1+sentinel2 #模式3: 将所有节点分开部署 三.一键部署脚本 1.在/root/test/目录下创建目录7001 7002 7003 7004 7005 7006 以及env ##7001~7006目录用来存放redis的配置文件redi…
一键部署lamp 脚本 如下: #!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #-------Apache------ #安装依赖包 yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl #配置软件模块 cd /opt/ tar zxvf apr-1.6.2.tar.gz tar zxvf apr-util-1.…
因为我开源的一键部署应用到linux服务器的AntDeploy, 在linux部署是需要安装一个agent服务(systemctl服务) 如果是手动第一次安装的话 需要敲 下载 wget 解压 tar 修改配置文件的token 复制到指定安装目录 设置权限 设置systemd 设置systemctl 清除临时文件 至少这8中类型的命令 如果我的agent需要更新版本的话,那么需要重新来一遍 下载 wget 解压 tar 配置文件保存备份 复制到指定安装目录,并恢复先前的配置 设置权限 设置sys…
历史原因,有一段时间,项目开发采用一种模式:项目开发及代码版本管理在外网,而主要测试在内网.所以为了同步开发进度,每天会将所有服务在外网jenkins上打包好,然后将服务jar包拷进内网,由于内网服务使用分布式部署,不同服务分布在不同服务器上,因此需要手动将各个服务包放到各个服务器上,并执行启动脚本启动,供内网测试.这种工作每天都要重复进行,而且整个服务发布耗时较长,jenkins自动化部署在内网又不可行,因此选择通过执行脚本来自动化发布服务. 下面演示通过脚本演示通过远程登录服务器 —> 备份…
在当前路径下输入 chmod 777 脚本名 给脚本授权, 然后就可以执行脚本 ./脚本名    777 是最高权限,有读.写.执行权限:和属组用户和其他用户的读.写.执行权限. 其他权限分别是 -rw------- (600) -- 只有读写权限. -rw-r--r-- (644) -- 只有有读写权限:而属组用户和其他用户只有读权限. -rwx------ (700) -- 只有有读.写.执行权限. -rwxr-xr-x (755) -- 有读.写.执行权限:而属组用户和其他用户只有读.执行…
一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存储的重要技术,它将数据存储在多个从节点上,对这些节点的硬件资源进行统一管理与分配,并向客户端提供文件系统访问接口,解决了本地文件系统在文件大小.文件数量.打开文件数目等的限制问题.海量数据存储系统的数据都是通过分布式文件系统存储在各个节点上.通过分布式文件系统,海量数据存储系统可以可靠地存储PB级以…