
自动化
7*24 工作者
人有万算,不如老天一算。做人,就要坦坦荡荡;做事,就要问心无愧。
展开
-
Waiting for Jenkins to finish collecting data
Jenkins 通过 Maven 构建完成 java 项目后,会对文件进行指纹验证,这样就会导致一个 java 项目时间会比较长,这个指纹验证功能在 Maven 项目的构建中是自动开启的。为了节约发布时间,所以需要关闭指纹验证的功能。一、下载安装插件1、插件名称:maven Integration有时在jenkins中找不到这个插件,所以需要在jenkins的插件仓库中下载 hpi 文件,地址http://updates.jenkins-ci.org/download/plugins/maven-pl原创 2021-12-02 15:13:34 · 3194 阅读 · 0 评论 -
shell将字符串转换将小写字母转换为大写字母
需求:将数据库中的所有表名转换成大写方法一:typesetfor i in `mysql -uusername -p'password' -h 192.168.0.145 test -e "show tables" | sed '1d'` ;do typeset -u i && echo $i ;done命令实例:test="dafoJg"typeset -u testecho $test问题:使用typeset命令第一次转换的时候,还是原字符串方法二:tr原创 2021-06-24 11:27:21 · 1863 阅读 · 0 评论 -
Jenkins跳过构建
一、概述项目使用Spring Cloud开发,jenkins job风格为:manven项目。构建过程,采用的是参数化构建。这里有一个瑕疵。发布时,需要使用pom.xml进行构建。构建过程时间比较长,需要几分钟。但是回滚时,不需要使用pom.xml进行构建。直接使用备份文件进行覆盖即可!因此,需要在回滚时,跳过构建,直接使用备份文件。这样就节省了几分钟时间!二、jenkins设置1...翻译 2020-04-11 14:06:45 · 4890 阅读 · 0 评论 -
jenkins发布Spring Cloud(单机版)
一、概述有一台测试服务器,需要部署Spring Cloud。通过Jenkins来发布!1、环境说明gitlab版本:GitLab 社区版 10.5.1jenkins版本:2.219测试服务器:操作系统为centos7.62、项目说明微服务统一在一个git项目里面,项目的大致结构如下:├── auth-server│ ├── pom.xml│ └── src├── ...转载 2020-03-28 20:21:30 · 3393 阅读 · 0 评论 -
使用systemd管理java的jar包服务
一、编写启动和停止脚本#### 启动脚本# cat /usr/local/bin/start.sh#!/bin/bashexport JAVA_HOME="/usr/java/jdk1.8.0_211"export PATH=$JAVA_HOME/bin:$PATHServiceName=$1CMD_PATH="/opt/services/ds/${ServiceName}"cd...原创 2019-11-15 13:44:59 · 3577 阅读 · 0 评论 -
JENKINS配置自动构建
一、构建触发器选择触发远程构建 --> 填写令牌(名字随意写) 备注:svn中获取最新代码,需要在svn地址后加上@HEAD参数,如svn://192.168.16.243:/gateon-dmp-h5@HEAD二、浏览器触发在浏览器上输入:http://192.168.147.128:8080/job/pipeline-gateon-h5/build?token=GATEON,...原创 2019-11-04 11:48:42 · 923 阅读 · 0 评论 -
kubeadm安装kubernetes环境
Linux centos7.6服务器环境说明:三台服务器ip和主机名分别为192.168.48.130 k8s-master192.168.48.131 k8s-node1192.168.48.132 k8s-node2一、初始化工作1、关闭seleniux、iptables、firewalld和NetworkManagersystemctl stop NetworkManage...原创 2019-03-24 17:54:12 · 1076 阅读 · 1 评论 -
MySQL和MongoDB数据相互迁移
一、迁移MongoDB数据到MySQL1、使用mongoexport导出.csv文件mongodb自带mongoexport工具,可便捷导出csv、json等格式数据:mongoexport -h 127.0.0.1 -u username -p password -d userInfoDB(数据库名称) -c regInfo(集合名称) -f _id,字段1,字段2 --type=csv ...翻译 2019-03-11 16:20:27 · 5921 阅读 · 0 评论 -
SED截取指定时间段日志
需求:对tomcat的日志每半个小时分析一次,如果出现指定字段就报警 由于这边所有的日志都是输入到一个文件中,所以我第一时间想到的是用sed来截取指定时间段的日志,然后输出到另一个文件中,然后对这个文件的内容进行分析即可。在执行过程中,发现如果用sed截取日期的可以,但是如果截取后面的时分秒需要用到正则表达式,下面是我些的脚本,可以参考下:#!/bin/bashbase_path=...原创 2018-09-05 08:59:36 · 7154 阅读 · 0 评论 -
node管理之cnpm工具代替npm
一、安装node,并安装cnpm工具#!/bin/bash#安装nodecd /data/downloadif [ ! -f node-v8.11.1-linux-x64.tar.xz ]; then echo "nodejs file not exist" exit 2fixz -dk node-v8.11.1-linux-x64.tar.x...原创 2018-08-01 10:21:01 · 632 阅读 · 0 评论 -
nginx日志切割脚本
nginx访问日志的切割,每十分钟切割一次,放到定时任务中*/10 * * * * sh nginx_log_cut.sh#!/bin/sh# Function:For cut nginx'log every 10 min# script_name: nginx_log_cut.sh. /etc/profilefunction move_log(){ local...原创 2018-07-26 17:41:12 · 482 阅读 · 0 评论 -
jenkins Process leaked file descriptors
在Jenkins中新建了一个Job,假设你在一些列Build Step之前/之后,启动了一个进程,打个比方说启动一个Jboss进程。等到Build完成,你去Console Output中查看显示启动成功,甚至PID也有了。但是当你去后台查看的时候,发现其实这个进程根本不存在,并没有启动成功。不过如果你使用的是较早的Hudson版本(Ver 1.136),并且是直接在页面中的Build Se...翻译 2018-06-20 09:30:04 · 3244 阅读 · 3 评论 -
自动化部署流程设计
一、自动化安装1.采购–>验货–>签字,验货单,盖公章。2.资产管理:资产录入–>机房、区域、排、机柜、位置、配置(资产管理,验收单)(自动化获取)3.RAID-(验货的时候)RAID。自动化进行配置4.CMDB:资产录入–>机房、区域、排、机柜、位置、配置。MAC地址清单。+(后期收集)资产收集、录入,管理和AP,并且展示。5.开机 关机 重启(IPMI)...翻译 2018-03-15 13:05:51 · 1246 阅读 · 0 评论 -
Linux的Shell--Sed操作(指定行增加删除内容)
一、在某行(指具体行号)前或后加一行内容#第4行末尾追加一行,内容为testsed -i 'N;4atest' test.txt #第4行行首追加一行,内容为testsed -i 'N;4itest' test.txt #匹配到test字段的行行首插入一行find . -name test.txt|xargs sed -i '/test/i #匹配到test字段原创 2018-01-12 13:47:31 · 46880 阅读 · 3 评论 -
Shell实现将多行整合成一行以及行和列的转化
源内容:4 00000080AB345 00000080AB355 00000080AB366 00000080AB374 00000080AB3A180?9 00000080AA0C10 00000080AA0E4 00000080AA0F1 00000080AA105 00000080AA12194?9 00000080AA0C5 00000080AA0E原创 2018-01-11 14:51:17 · 17113 阅读 · 1 评论 -
Jenkins+Maven+Svn实现代码自动打包与发布
安装jdk、tomcat环境[root@centos6 ~]# tar zxf jdk-8u111-linux-x64.tar.gz -C /usr/local/[root@centos6 ~]# tar zxf apache-tomcat-8.5.9.tar.gz -C /usr/local/[root@centos6 local]# export JAVA_HOME=/usr/local/j翻译 2017-12-04 11:03:48 · 2664 阅读 · 0 评论 -
Saltstack部署和简介
一、安装mastet:yum -y install salt-masterminion:yum -y install salt-minion二、配置 只需要配置minion端即可[root@linux-node2 ~]# grep ^[a-z] /etc/salt/minionmaster: url地址id(默认是使用python获取fqdn名字,也可以不配置)三、认证(salt认证是经原创 2017-10-12 14:36:22 · 829 阅读 · 0 评论 -
Python统计服务器的负载情况
假如公司有几百台服务器,现在统计每一台服务器的负载情况,并将数据导入到excel中? 思路: 首先将每一台服务器的负载统计出来,并导入到文件中 –> 对文件进行处理,截取我们想要的内容 –> 利用python对文件进行操作,将其内容放到一个字典中或者列表中 –> 运用python的xlsxwriter模块,将文件里的内容导入到excel中一、统计所有服务器的负载情况(下面我就以四台为例)#!/原创 2017-08-24 14:02:40 · 1471 阅读 · 0 评论 -
rsync参数详解
rsync参数详解-v, --verbose 详细模式输出。 -q, --quiet 精简输出模式。 -c, --checksum 打开校验开关,强制对文件传输进行校验。 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。 -r, --recursive 对子目录以递归模式处理。 -R, --relative 使用相对路径信息。 -b,翻译 2017-08-17 09:17:38 · 20506 阅读 · 0 评论 -
rsync安装、配置、实例
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。一、语法rsync [OPTION]... ...原创 2017-08-17 09:15:06 · 1340 阅读 · 0 评论 -
将测试环境代码推到预生产环境shell脚本
将测试环境代码推到预生产环境shell脚本#!/bin/bash#加载系统函数库. /etc/init.d/functions#目录version=`date +%Y-%m-%d`bak="/backup/$version" #测试完成后,将代码打包备份的路径src="/alidata/www" #预生产环境代码的目录dblink="/backup/dblink" #配置数据原创 2017-08-09 10:36:54 · 1697 阅读 · 1 评论 -
自动化部署的shell脚本
这个shell脚本为线上代码部署的脚本,此脚本适用于小公司。而大公司会有专门的一套自动化部署的程序,比如使用jenkins部署,这个是比较常见的。#!/bin/bash#首先在code里面执行下面命令#git checkout git@github.com:<username>/demo.gitCDATE=$(date "+%Y-%m-%d")CTIME=$(date "+%Y-%m-%d-原创 2017-07-10 10:53:09 · 2114 阅读 · 0 评论 -
自动化部署流程设计
一、自动化部署 1、部署环境开发环境测试环境(功能测试、性能测试)预生产环境(生产环境的一个不对外的节点)生产环境2、代码部署的几种情况git pullsvn updatersync 缺点:不能做到及时回滚,适合代码更新非常不频繁的情况rz sz 缺点:毫无任何优点3、自动化部署 代码已经在发布分支,进行发布。1)获取代码 git pull (a、最新的 b、commit id原创 2017-07-06 17:48:51 · 1463 阅读 · 0 评论 -
awk数组介绍
获取连接数的命令:netstat -an | awk /^tcp/'{++S[$NF]}END {for (key in S) print S[key],key}'|sort -nr命令拆分功能说明/^tcp/过滤出以tcp开头的行,”^”为正则表达式用法,用…开头,这里是过滤出以tcp开头的行S[]原创 2017-06-29 11:07:00 · 508 阅读 · 0 评论 -
shell批量处理--统计和判断
一、将输出中的每个字符去重后排序[root@iZ23hh6yk41Z test]# cat test1.txtThe local civil affairs department is sending relief goods to affected areas方法:[root@iZ23hh6yk41Z test]# grep -o "[a-Z]" test1.txt |sort |uniq -c原创 2017-06-28 12:44:43 · 645 阅读 · 0 评论 -
shell批量处理
一、将以下字符串fat110abccafat136bcdfgfat123hell0fat122world1转为如下形式fat110=abccafat136=bcdfgfat123=hell0fat122=world1方法如下:[root@iZ23hh6yk41Z test]# cat test.txt |xargs -n 2|tr ' ' '='[原创 2017-06-28 10:47:02 · 1390 阅读 · 0 评论 -
检测网站是否被篡改的脚本
一、代码被修改有以下几种情况:1、大小可能变化 2、修改时间可能变化 3、文件内容会变化(md5sum指纹) 4、增加或者删除文件二、完整代码分两部分,分别写在不同的文件第一部分(在发布代码后立即做的工作):#首先用md5sum校验代码#网站根目录路径src="/home/wwwroot/bbs/"#指纹文件backup="/server/backup_co原创 2017-05-04 09:38:05 · 5093 阅读 · 0 评论 -
批量创建用户,并生产随机密码
shell脚本内容如下:#!/bin/bashfor i in test{1..10}do pass_user=`openssl rand -base64 32 | cut -c 1-20` useradd test$i echo ${pass_user} | passwd --stdin test$i cat >> ./user_pass << END原创 2017-04-21 17:52:17 · 1000 阅读 · 0 评论 -
YAML
一、概述YAML是“另一种标记语言(Yet Another Markup Langure)”的外语缩写,它类似于标准通用标记语言的子集xml的数据描述语言,且能够被电脑识别,是一个可读性高并且容易被人类阅读,容易和脚本语言进行交互,用来表达资料序列的编程语言。特点:1、可读性好2、和脚本语言的交互性好3、使用实现语言的数据类型4、有一个一致的信息模型5、易于实现6、原创 2017-04-05 10:21:27 · 3662 阅读 · 0 评论 -
Ansible 文档
第一部分:基础一、安装方法1、使用centos的epel源安装yum –y install ansible 主配置文件:/etc/ansible/ansible.cfgInventory文件:/etc/ansible/hosts 2、认证方式:2.1 基于密钥①生成密钥 ssh-keygen -t rsa②将公钥复制到每台主机上 ssh-cop原创 2017-04-05 10:13:42 · 3377 阅读 · 0 评论