- 博客(114)
- 资源 (1)
- 收藏
- 关注
转载 gitlab 清理指定时间前的,merge的早期分支
由于分支管理的问题,导致gitlab上面堆积了许多无用的分支。gitlab上面也不好操作,我们可以借助git客户端来删除远程分支需要删除哪些分支指定时间 + merged合并过的代码Shell脚本如下cat delete.sh#!/bin/bash# 批量删除远程分支 shell scriptreponsitory_name="$1"echo "您即将删除【"$reponsitory_name"】下的分支,请先找其他人备份好,以免误删!!!!";echo " "cd.
2021-05-25 21:08:52
1570
原创 Python PEP8 基本常用规范
PEP8规范总结PEP8 是什么呢,简单说就是一种编码规范,是为了让代码“更好看”,更容易被阅读。 具体有这些规范,参考 PEP 8 –Style Guide for Python Code.当然也可以使用Pycharm检查或使用pylint.下面是规范总结缩进不要使用 tab 缩进使用任何编辑器写 Python,请把一个 tab 展开为 4 个空格绝对不要混用 tab 和空格,否则容易出现 IndentationError空格在 list, dict, tuple, set, 参数
2020-08-09 10:21:25
2447
1
转载 Apollo开放平台 API
一、 什么是开放平台?Apollo提供了一套的Http REST接口,使第三方应用能够自己管理配置。虽然Apollo系统本身提供了Portal来管理配置,但是在有些情景下,应用需要通过程序去管理配置。二、 第三方应用接入Apollo开放平台2.1 注册第三方应用第三方应用负责人需要向Apollo管理员提供一些第三方应用基本信息。基本信息如下:第三方应用的AppId、应用名、部门第三...
2020-03-28 17:11:54
13118
原创 Supervisor 管理进程服务重启报警(Event & Listener 监控进程并报警)
一、需求:服务、进程等都被 Supervisor 管理,想实现 被管理的程序异常退出后,或者程序尝试重启多次失败后,Supervisor可以告警通知。二、实现思路Event 是在 Supervisor 3.0 引入的一个高级特性,如果只简单使用 Supervisor 管理进程,则不需要了解 Event。但如果希望监控 Supervisor 管理的进程的各种状态(如: 启动、退出、失败、退出...
2020-02-29 19:13:46
3272
1
原创 python关于uuid去除横杠和字符串转换为uuid添加横杠的处理
一、uuid去横杠的原因最近在使用jumpserver跳板机调用开发项目。jumpserver很多数据库主键是使用的uuid,去除横杠的uuid。找了下资料,原因如下:数据库中直接存储UUID的坏处:完全‘随机’的字符串,例如由MD5()、SHA1()、UUID()产生的。它们产生的每一个新值都会被任意地保存在很大的空间范围内,这会减慢INSERT及一些SELECT查询。1)它们会减慢...
2020-02-15 16:00:17
10618
1
原创 根据id和parent_id二维树形结构数据生成嵌套树形结构数据
一、原数据data = [ {'id': 1, 'parent_id': 0, 'name': "A"}, {'id': 2, 'parent_id': 0, 'name': "AA"}, {'id': 3, 'parent_id': 1, 'name': "AB"}, {'id': 4, 'parent_id': 3, 'name': "ABA"}, {'id': 5, 'paren...
2019-11-25 13:46:34
2422
原创 Flask 根据mysql数据库表反向生成 model的py文件
flask-sqlacodegen 支持flask的SQLAlchemy自动model代码生成器安装:pip install flask-sqlacodegen生成model.py文件flask-sqlacodegen --flask 'mysql+pymysql://root:password@127.0.0.1/test' --tables t1,t2# --tables t1...
2019-11-01 13:02:14
2748
1
转载 详解python中的with关键字
对于系统资源如文件、数据库连接、socket 而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源。如何正确的关闭一个文件呢?1.普通版def test0(): f = open("1.txt", "w") f.write("0000") f.close()2.进阶版def test1(): f = open("1.tx...
2019-08-20 11:46:50
1498
原创 has been blocked by CORS policy: NO 'Access-Control-Allow-Origin' header is present on the reauested
软件环境Django + DRFVUE同源策略浏览器的同源策略,浏览器发现ip或端口是不一样的,就会认为存在风险,会进行拦截。除非后端告诉浏览器允许。简单请求和复杂请求HTTP方法是下列方法之一 HEAD, GET,POSTHTTP头信息不超出以下几种字段 Accept, Accept-Language, Content-Language, Last-Event-I...
2019-07-23 12:57:10
26858
1
原创 Logstash离线安装插件
环境:生产环境、主机未联网。解决:离线安装步骤# 插件都在https://rubygems.org/, 搜索插件,然后下载gem文件mkdir logstashmv logstash-output-exec-3.1.4.gem logstash/zip -r logstash-output-exec.zip logstash./bin/logstash-plugin install ...
2019-05-20 22:39:30
8087
4
原创 Centos6.5 正确 升级glibc 的方式
重点、前言:首先,说一下什么是glibc,百科里这么写的glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。可见是多么的重要,...
2019-04-23 20:48:16
3272
7
转载 centos7 php7 动态编译mysqlnd: configure: error: Cannot find OpenSSL's evp.h 错误解决
centos7 php7 动态编译mysqlnd: configure: error: Cannot find OpenSSL's <evp.h> 错误解决开始以为是没有安装openssl, openssl-devel,安装后发现还是提示这个错误,搜索了一下evp.h,这个文件也存在。GOOGLE 了一下,在stackoverflow,找到了答案,原来是 phpize 生成的con...
2019-04-23 12:26:49
6965
3
转载 libcurl link-time ssl backend (nss) is different from compile-time ssl backend (openssl)
CeotOS系统 Python 安装pycurl时报错:import pycurlTraceback (most recent call last): File "<stdin>", line 1, in <module>ImportError: pycurl: libcurl link-time ssl backend (nss) is different fr...
2019-04-23 12:19:20
968
原创 Linux磁盘空间满了,找不到磁盘空间占用文件
一、现象:Linux主机:用df -hT 查看磁盘占用已经满了,但是用du -sh * 又找不到是哪些文件目录占满了磁盘。二、解决,lsoflsof |grep delete用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。根据lsof列出的进程号,kill这些进程或重启进程后,空间就释放出来了。重要服务进程pid,注意确认,别发重要服务kill了。...
2019-04-18 18:08:04
12844
1
原创 Pipenv,最好用的Python虚拟环境和依赖管理工具
一、什么是PipenvPipenv是Kenneth Reitz在2017年1月发布的Python依赖管理工具,现在由PyPA维护。你可以把它看做是pip和virtualenv的组合体,而它基于的Pipfile则用来替代旧的依赖记录方式(requirements.txt)。1、普通安装pipenv 可使用 pip 直接安装。pip install pipenv作者推荐在python3下边...
2018-12-21 18:35:57
1802
原创 Python和go 将代码文件编译成二进制可执行文件
Python 将代码文件编译成二进制执行文件安装PyInstallerpip install PyInstaller编译# Linux 系统pyinstall -F 你的代码.py# Windows 系统pyinstaller.exe -F 你的代码.py编译后,在dist目录下会生成二进制可执行文件。Windows系统下,python代码文件编译成exe格式二进制...
2018-12-19 18:36:04
5212
原创 GIT 拉取 很慢的解决方法
问题、现象个别主机,git 拉取本地仓库,会卡一会,才拉去下来。比正常机器慢几秒。解决方法通常ssh远程主机慢,由于远程主机开了dns解析,所以关闭即可。# vim /etc/ssh/sshd_configUseDNS no而这里git 拉取慢,则是开了 使用基于 GSSAPI 的用户认证,修改关闭# vim /etc/ssh/sshd_configGSSAPIAuthentic...
2018-12-12 14:18:40
13737
原创 ELK Packetbeat配置使用及MySQL抓包审计
目录一、Packetbeat 概述二、Packetbeat 安装配置**1、rpm安装:****2、配置****3、配置模板加载**三、基于packetbeat采集MySQL语句,操作审计四、packetbeat 配置优化1、设置流量捕获选项2、设置流以监控网络流量3、指定要监视的事务协议4、过滤并增强导出的数据`or`一、Packetbeat 概述Packetbeat 轻量型网络数据采集器...
2018-10-22 12:25:58
9506
4
转载 代理后端的 Nginx 限制真实客户端IP访问问题
一、背景–当前问题1、正常情况,nginx 限制ip访问方式:# nginx http\server 块中配置allow 192.168.6.0/16;# allow all;deny 1.2.3.4/32;# deny all;2、当nginx经过前端 elb(aws负载均衡)、cdn等代理后,来源IP总是elb、cdn等代理 IP地址当 nginx处于前端负...
2018-08-31 18:02:31
6771
转载 lsyncd实时同步搭建指南——取代rsync+inotify
一. 几大实时同步工具比较1.1 inotify + rsync最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotifywai...
2018-08-23 14:57:10
1708
原创 基于DPDK,jupiter 百万qps并发负载均衡,替代lvs
一、简介1、背景基于 OS 内核的数据传输有什么弊端UNIX 的设计初衷其实为电话网络的控制系统而设计的,而不是一般的服务器操作系统,所以,它仅仅是一个数据负责数据传送的系统,没有所谓的控制层面和数据层面的说法,不适合处理大规模的网络数据包。最后 Errata Security 公司的 CEO Robert Graham得出的结论是: OS 的内核不是解决 C10M 问题的...
2018-06-08 23:31:05
5453
转载 替代crontab,任务计划统一集中管理系统cronsun简介
一、背景crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过。在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存在很多问题:大量的 crontab 任务散布在各台服务器,带来了很高的维护成本任务没有按时执行,甚至失败了很久才发现,需要重试或排查crontab 分散在很多集群上,需要一台一台去看日志分...
2018-06-08 12:02:04
4410
4
原创 etcd、etcd-browser、etcdkeeper(支持 etcd v3 api) 简单安装配置
一、简介etcd是一个类似于zk的工具,用于保存值,节点-值这种映射关系的。节点组织结构类似unix文件系统结构,从/最开始。GitHub地址:etcd :https://github.com/coreos/etcdetcd-browser (etcd-webui): https://github.com/henszey/etcd-browser二、etcd 安装配置...
2018-05-10 10:22:30
18243
2
原创 AWS ELB 后端获取真实客户端IP地址配置
一、背景:https ELB后端nginx获取不到真实客户端IP使用aws elb服务器来做websocket负载均衡时,只能使用tcp模式。https 协议不在也可以选择tcp模式,都有后端获取不到真实客户端IP问题,获取都是elb IP地址代理协议是一种 Internet 协议,用于将连接信息从请求连接的源传递到请求连接到的目标。Elastic Load Balancing 使用代...
2018-05-02 11:26:49
10896
原创 ElasticSearch 常用命令总结(更新中)
一、ElasticSearch 常用api地址 软件环境:以下都是对于 ElasticSearch-5之后版本'查看集群状态' : http://server_ip:port/_cluster/stats'集群健康状态' : http://server_ip:port/_cluster/health'查看节点状态' : http://server_ip:por...
2018-03-16 15:22:52
2788
原创 ElasticSearch 6 集群搭建
一、准备环境配置下载地址:Java :http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlelasticsearch : https://www.elastic.co/downloads/elasticsearch1、java环境配置方法一:软链Java到系统...
2018-03-15 18:15:06
6120
2
转载 RabbitMQ两种集群模式配置管理
一、RabbitMQ集群的两种模式1)普通模式:默认的集群模式。2)镜像模式:把需要的队列做成镜像队列,存在于多个节点,属于RabbitMQ的HA方案普通模式:默认的集群模式RabbitMQ集群中节点包括内存节点、磁盘节点。内存节点就是将所有数据放在内存,磁盘节点将数据放在磁盘上。如果在投递消息时,打开了消息的持久化,那么即使是内存节点,数据还是安全的放在磁盘。那么内存节点的性能只...
2018-03-14 18:22:28
11428
3
原创 Zookeeper + Kafka 集群搭建
下载地址zookeeper : http://zookeeper.apache.org/releases.html Kafka :http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.11.0.2/kafka_2.11-0.11.0.2.tgzJava :http://www.oracle.com/technetwork/java/jav...
2018-03-14 10:23:06
530
原创 nginx http代理、负载均衡、tcp代理转发 配置
一、nginx http 代理nginx http 代理通过proxy_set_header,返回客户端真实IP地址及端口,而不是代理主机ip,#proxy ngx 代理不支持 https,有https需求可以用squidserver { listen 9998; allow 192.168.0.0/24; deny all; locat
2018-02-07 08:31:18
13153
3
原创 saltstack执行结果结合Elasticsearch来展现
默认情况下,发送给salt minion的命令执行结果将返回给salt master.Saltstack Returner的接口允许将结果发送给任意系统官方文档: https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.elasticsearch_return.html#module-salt.returners.
2017-10-18 13:43:15
1029
原创 CentOS 编译安装 zabbix 3
一、依赖安装环境: 系统环境:CentOS:7.2 zabbix版本:3.4.2安装依赖包yum -y install mariadb mariadb-server php php-fpm php-cli php-common php-mcrypt php-pdo php-mysql mod_perl mod_auth_mysql php-gd php-xml php-mbstrin
2017-10-13 20:15:27
1692
转载 CentOS 搭建postfix邮件服务器
注:本文的邮件服务器只用于发送邮件,也就是STMP服务器。这里主要供zabbix发送报警邮件使用,防止zabbix直接发送邮件因网络抖动而邮件丢失一、准备工作为邮件服务器添加DNS解析虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根据我们的实际经验,需要添加三条DNS解析记录:A记录、MX记录、TXT记录。比如域名cnblogs.info,对应的DNS记录如下:准备存
2017-10-11 18:19:03
2440
原创 Linux下 FFmpeg 编译安装
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。官网:http://ffmpeg.org一、FFmpeg安装安装依赖包:yum install libtheora-devel libvorbis-develFFmpeg编译安装:由于系统不同,会导致依赖也不尽相同,需根据报错信息逐渐安装依赖wget http://ffmpeg.org/releases/ffm
2017-10-11 14:37:14
6695
原创 XenServer虚拟机root密码修改
几种方法:一般第一种就可以了1> 打开XenCenter管理控制台,找到要修改密码的那台虚拟机:右键Properties–>Boot Options–>OS Boot Parameters–>将boot parameters的默认项目graphical utf8修改为graphical utf8 single或single ,重启这台虚拟机就会直接进入到单用户模式,然后passwd
2017-10-11 11:27:42
4324
原创 CentOS 7 安装iptables防火墙
CentOS7默认的防火墙不是iptables,而是firewall.安装iptable iptable-serviceservice iptables status # 先检查是否安装了iptablesyum install -y iptables # 安装iptablesyum update iptables # 升级iptablesyum install iptables-
2017-10-11 11:09:54
680
原创 resolv.conf 的超时(timeout)与重试(attempts)机制
一、背景/etc/resolv.conf 有两个默认的值至关重要,一个是超时的 timeout,一个是重试的 attempts,默认情况下,前者是 5s 后者是 2 次。 这个估计很多工程师都不是很在意,一般情况下,使用默认的值倒没什么大问题,特殊情况我会在最后说明。要测试,不要使用 dig, host, nslook 这类工具,因为他们并没有调用 resolver 的库,可以使用 getent
2017-08-25 00:25:25
5863
原创 linux 调优 Linux内核参数详解
sysctl.conf工作原理sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/IP堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。# sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示’yes’,用 0 来表示’no’)net
2017-08-25 00:20:08
4702
原创 XSS过滤 与 单例模式
一、XSS过滤像在KindEditor里,富文本编辑框,写入类似“<script>alert(123)</script>”,编辑框会给过滤掉。但如果选择源码编辑,写入如上代码,就过滤不了了。实现了XSS攻击。1、解决办法:对特殊字符进行处理。pip3 install beatifulsoup4,这个模块会生成对象,find方法找指定的标签from bs4 import BeautifulSoupco
2017-03-03 10:55:27
1056
原创 Django(九)下:Ajax操作、图片验证码、KindEditor使用
三、Ajax操作ajax操作基于浏览器的xmlHttpRequest对象,IE低版本是另外一个对象,jQuery 1 版本对那两个对象做了封装,兼容性最好,2 、3版本不再支持IE低版本了。Ajax操作,用来偷偷发请求。参考博客:http://www.cnblogs.com/wupeiqi/articles/5703697.html1、原生Ajax操作XmlHttpRequest对象介绍XmlHt
2017-02-07 22:29:56
2443
原创 Django(九)上:ModelForm操作
一、内容回顾 Model - 数据库操作 - 验证 class A(MOdel): user = email = pwd = Form - class LoginForm(Form): email = fields.Ema
2017-02-07 22:25:54
19110
8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人