自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 jenkins定时构建任务

* * * * *第一个*表示分钟,取值0~59 第二个*表示小时,取值0~23 第三个*表示一个月的第几天,取值1~31 第四个*表示第几月,取值1~12 第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日每天凌晨2:00跑一次 H 2 * * *每隔5分钟构建一次H/5 * * * *每两小时构建一次H H/2 * * *每天中午12点定时构建一次H 12 * * * 或0 12 * * *(0这种写法也被H替代了)每天下午18点前定时...

2020-08-07 17:46:32 28

原创 jenkins 通过api触发,构建job,获取job执行结果,执行状态

#!/usr/bin/python# -*- coding: UTF-8 -*-import jenkins #pip install python-jenkinsimport datetime,timeclass Job(): def __init__(self, jenkins_master, jenkins_job, jenkins_user, jenkins_passwd,jenkins_server): ''' jenkins_master :.

2020-07-16 10:35:55 345

原创 jenkins 常用api

curl -X GET http://域名/job/名称/lastBuild/api/json#域名:jenkins域名 名称:job name 获取job最后一次的执行结果curl -X GET http://域名/job/名称/10/api/json 获取指定job的执行状态#10:job_idjenkins其他相关api:https://www.jianshu.com/p/e1b716318996...

2020-07-15 12:05:43 102

原创 os.path.abspath(__file__)和os.path.dirname(__file__)区别

os.path.abspath(__file__)返回的是.py文件的绝对路径(完整路径)os.path.dirname(__file__)返回的是.py文件的目录import ospath1 = os.path.dirname(os.path.abspath(__file__))path2 = os.path.abspath(__file__)print(path1)print(path2)结果/Users/mypoidiff/apollo/Users/mypoidiff/ap

2020-07-09 15:35:07 186

原创 shell之sed 搜索替换文件内容

1、Linux上和windows上使用sed命令区别sed -i 's/12345/$rank_version/g' test.py #linux上sed -i '' 's/12345/$rank_version/g' test.py #windows上必须加两个单引号 '' 否则会报这样的错 extra characters at the end of d command2、通过变量名称替换内容时rank_version=1122sed -i '' "s/1111/

2020-07-08 20:42:28 92

原创 shell截取字符串

{ "name":"control_group", "params":{ "rank_version":"20200229", "radius":"20120", "max_num":"49800", ...

2020-07-08 16:09:57 77

原创 python 之 sys.argv 和 sys.path.append()用法

一、sys.argv 命令行传参文件test.py内容如下:import sysa=sys.argvb=len(sys.argv)c=sys.argv[0]d=sys.argv[1]e=sys.argv[2]print(a)print(b)print(c)print(d)print(e)执行文件python test.py 11 22,结果如下:需要注意的地方就是,命令行入参的第一个参数是 需要执行的代码路径 test.py,而不是’11‘二、sys.pa..

2020-07-07 15:04:01 103

原创 expect -- 自动登录ssh 堡垒机

常用命令:# 命令行参数 # $argv,参数数组,使用[lindex $argv n]获取,$argv 0为脚本名字# $argc,参数个数set username [lindex $argv 1] # 获取第1个参数set passwd [lindex $argv 2] # 获取第2个参数 set timeout 30 # 设置超时 # spawn是expect内部命令,开启ssh连接spawn ssh -l username 192.168.1.1 # 判断上次输.

2020-07-06 12:01:32 96

原创 Python必会的单元测试框架 —— unittest

感觉这篇博客也得很详细:https://huilansame.github.io/huilansame.github.io/archivers/python-unittest

2020-06-23 15:17:30 48

原创 Python subprocess模块call&check_call

subprocess.call(args, *, stdin= None, stdout = None, stderr = None, shell = False)运行由args参数提供的命令,等待命令执行结束并返回返回码。args参数由字符串形式提供且有多个命令参数时,需要提供shell=True参数:res = subprocess.call('ls')print 'res:', resres = subprocess.call('ls -l', shell = True)prin.

2020-06-22 17:47:35 104

转载 [Jenkins]传递自定义变量:job内部步骤传递 & job之间传递

场景一: Job构建步骤间的变量传递譬如『Execute shell』1 中的自定义变量传给『Execute shell』2解决方法:读写文件 或export导出变量场景二: Job之间的变量传递现在有两个Project『run_compile』和『run_deploy』,代码编译成功后开始执行环境部署。不需要传递参数的情况下可以选择“Build other projects“的方式。需要传递参数则需要选择"Trigger parameterized build ...

2020-06-09 20:21:09 144

原创 shell 获取n天前和n天后日期

使用date -d 选项:date +"%Y%m%d" -d "+n days" 今天的后n天日期 date +"%Y%m%d" -d "-n days" 今天的前n天日期

2020-06-09 12:04:15 120

原创 如何查看端口被那个进程占用的全路径

1、lsof -i:port 会出现进程pidps -ef | grep pid 就可以查看全路径但这个方法有时候就失效了,我也不知道为什么2、不过第二种方法绝对有效,每个进程启动之后在 /proc下面有一个于pid对应的路径lsof -i:port 会出现进程pidcd /proc/pid ls -lrt注意cwd,即是你要查找的进程所在路径...

2020-06-08 21:12:04 117

转载 Go的json解析:Marshal与Unmarshal

实现Json Marshal:将数据编码成json字符串看一个简单的例子type Stu struct { Name string `json:"name"` Age int HIgh bool sex string Class *Class `json:"class"`}type Class struct { Name string Grade int}func main() { //实例化一个数据结构

2020-05-25 11:55:51 121

原创 git 提交代码、更新远程代码

一、开发分支(dev)上的代码更新后,要合并到 master 分支git checkout dev #切换到dev分支git pull #将远程更新的代码同步到本地git checkout master #切换到mastergit merge dev #将dev分支合并到master上git push -u origin master #提交二、当master代码改动了,需要更新开发分支(dev)上的代码git checkout m

2020-05-19 14:52:45 93

原创 python 判断key是否存在dict里

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下:第一种方法:使用自带函数实现。在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。例:#生成一个字典d={'name':{},'age':{},'sex':{}}#打印返回值printd.has_key('name')#结果返回True第二种方法:使用in方法#生成一个字典d={'name':{},'age':{},'sex':...

2020-05-19 14:28:12 176

原创 datetime,time计算时间差

根据时间戳计算与当前时间相差天数import time,datetimedef getTimeDaysDiff(timestamp): #时间戳转换长日期 getDate = datetime.datetime.fromtimestamp(timestamp) #print getDate,type(getDate) #2020-04-28 19:16:45 <type 'datetime.datetime'> #获取当前时间戳并转换成日期 .

2020-05-19 14:06:00 127

原创 curl方式访问请求转换成python访问

一、curl 方式curl -X GET 'http://ip:port/br01_main_poi_55000043_1585561751000/prod/1110843103457050631'结果:{ "_index":"br01_main_poi_xxxx", "_type":"xxx", "_id":"111xxxxxx7050631", "_version":2, "found":true, "_source":{ .

2020-05-19 11:58:35 286

原创 linux清除磁盘空间

清除磁盘空间 常用命令:df -h 查看磁盘伤愈空间find . -type f -size +800M 查看当前目录下>800M的文件ll -h 查看文件大小du -h --max-depth=1 查看当前目录下的文件大小的找到要删除的文件时,用cat /dev/null > acess.log 将null写进acess.log文件...

2020-05-08 12:12:20 56

原创 golang实现链表逆置和删除元素

1、逆置//链表逆置type Node struct{ data int next *Node}func Reversenode(list *Node) *Node { if list==nil || list.next==nil || list.next.next==nil{ return nil } p:=list.next list.next=nil var ...

2020-03-31 13:22:16 93

原创 golang实现各种排序

一、冒泡排序//冒泡func Bubblesort(arry []int)[]int{ if arry == nil{ return nil } for i:=0;i<len(arry)-1;i++{ for j:=0;j<len(arry)-i-1;j++{ if arry[j]>arry[j+1]{ arry[j],arry[j+1]=ar...

2020-03-31 13:22:05 50

原创 golang实现二分法查找

//二分法查找func Find(arr []int,val int)int{ if arr==nil{ return -1 } left:=0 right:=len(arr)-1 pos:=-1 var mid int for left<right{ mid=(right-left+1)/2+left if arr[mid] == val { for l...

2020-03-31 13:21:54 42

原创 golang 发送钉钉

package dingdingimport ( "github.com/royeo/dingrobot" "yangmengyao/dataChecksum/initlog")func SendDingMsg(title string,dict []map[string]string,flag string) { //webhook := "https://oapi.dingt...

2020-03-23 15:48:24 253

原创 python实现简单类

一,类class parent: def __init__(self,name,age): self.name=name self.age=age def getmessage(self): print(self.name,self.age)if __name__=='__main__': obj=parent(n...

2020-03-15 21:18:31 59

原创 mysql之xtrabackup

MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周日用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtraba...

2020-03-07 21:20:28 35

原创 python3遇到Can't connect to HTTPS URL because the SSL module is not available.

说明ssl安装有问题,或者没有安装ssl,可通过如下检测说明没有安装ssl解决方法去python3 的安装目录下的/usr/local/python3/Python-3.6.8/Modules/Setup文件里,去掉下面四行的注释重新编译./configure --prefix=/usr/local/pythonmakemake install又下面报错...

2020-01-02 15:15:38 447

原创 python3安装遇到 zipimport.ZipImportError: can't decompress data; zlib not available

报这个错会导致pip3无法使用,所以一定要解决这个错1、在报错的当前路径下安装zlib相关依赖包:yum -y install zlib*2、进入/usr/local/python3/Python-3.6.8/Modules下的Setup文件vim /usr/local/python3/Python-3.6.8/Modules/Setup找到#zlib zlib...

2020-01-02 11:31:20 217

原创 golang 配置文件 yaml 使用方法

go get gopkg.in/yaml.v2生成配置文件:package mainimport ( "bufio" "fmt" "os")func main(){ fd, err := os.OpenFile("./kpid.yaml", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) if err != nil { p...

2019-12-16 18:00:21 94

原创 golang 处理mysql数据库中的NULL, nil,time类型的值

在用golang获取数据库的数据的时候,难免会遇到可控field。这个时候拿到的数据如果直接用string,time.Time这样的类型来解析的话会遇到panic。下面的方法会解决这种问题:表结构:show create table checksum_mengyao;CREATE TABLE `checksum_mengyao` ( `db` char(64) NOT NULL,...

2019-12-12 15:17:35 1246

原创 python 获取以python 脚本提交的数据&以 curl 方式提交的 json / form 数据

一、以 curl 方式发送请求1、json格式数据curl -H "Content-Type:Content-Type:application/json" -X POST -d '{"original_ip": "10.20.181.211", "host_name":["10.0.0.53"]}' http://ip:port/apis/getrestoreresult/py...

2019-12-12 14:26:31 174

原创 golang实现控制cpu使用率

package mainimport ( "runtime")func main() { runtime.GOMAXPROCS(3) go task() go task() select{}}func task(){ a := 100 for { a += 1 }}上面代码正常情况下会使cpu使用率达到60%左右,但是如果我们想要是cpu使用率控...

2019-12-03 14:57:01 1072

原创 uwsgi 学习笔记----配置,重启,重启失败

1、uwsgi配置# uwsig使用配置文件启动[uwsgi]# 项目目录chdir=/www/news/# 指定项目的applicationmodule=itstyle.wsgi:application# 指定sock的文件路径 socket=/www/news/script/uwsgi.sock# 进程个数 workers=5pidfile=/...

2019-11-23 15:15:40 233

原创 pt-table-checksum检测MySQL主、从数据的一致性

1、pt-table-checksum其原理是,在主库执行校验语句(binlog格式为STATEMENT),通过sql复制传递到从库,如果数据不一致,则主、从会产生不同的校验值,以此来判断主从数据是否一致。注意:在从库里检查校验结果,复制的sql也是在主库里执行,结果会学到从库的表里通过这个sql,检查结果SELECT db, tbl, SUM(this_cnt) AS tot...

2019-11-20 21:39:56 93

原创 golang 连接 mysql 数据库 & postgres 数据库

连接mysql库package mainimport ( "fmt" "strings" "database/sql" _"github.com/go-sql-driver/mysql")const ( userName = "***" password = "***" ip = "***" port = "***" dbName =...

2019-11-11 17:16:04 164

原创 django学习笔记:post请求配置

1、djano post请求时需要将配置文件setings.py :屏蔽

2019-10-30 21:02:10 193

原创 airflow调度系统学习笔记一一DAG触发,重启

一、aiflow触发DAG有两种方式:1、内部触发:也就是通过设置参数schedule_interval 来触发DAG,时间一到,DAG就会执行2、外部传参触发:import requestsimport jsondata={ # "ipaddr":"10.0.6.165", # "user":"postgres", "lucyIp":"10....

2019-10-12 16:42:12 1418

原创 golang 执行linux命令 &获取命令执行返回码,命令pid,执行结果(逐行输出)

package mainimport ( "fmt" "io/ioutil" "log" "os/exec" "syscall")func main() { cmd := exec.Command("/bin/bash", "-c", "ls -l") //不加第一个第二个参数会报错 //cmd.Stdout = os.Stdout // cmd.Stdout...

2019-09-20 17:25:53 1821

原创 golang & python 连接 postgreSQL及postgre如何插入含有单引号的字符串

golangpackage mainimport _ "github.com/lib/pq"func main() { pgsqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+"password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)...

2019-08-15 17:54:23 514

原创 go 实现发送post请求的两种方法

1、http.NewRequest()package mainimport ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" "unsafe")type JsonPostSample struct {}func (this *JsonPostSample) SamplePost() { info := ...

2019-08-05 16:32:37 2209

原创 golang set 做差集,交集,并集

package mainimport ( "fmt" "reflect" "gopkg.in/fatih/set.v0")/*set并集 交集 差集计算示例*/func main() { a := set.New(set.ThreadSafe) c := 8 a.Add(1) a.Add(2) a.Add(3) a.Add(c) b := set.New(s...

2019-08-01 16:47:16 390

提示
确定要删除当前文章?
取消 删除