自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NetRookieX的博客

郭老师带你飞

  • 博客(213)
  • 资源 (17)
  • 收藏
  • 关注

原创 Shell脚本实现Linux回收站

前言到目前为止,非图形化的Linux还没有回收站的命令。那么,我们如果不小心将某一个文件删掉了,那就只能数据恢复了。如果这也不行,那就等着哭吧。实现回收站功能的Shell脚本vim del #之所以后面没有.sh后缀,是为了让它更像一个命令。#!/bin/bash#脚本作用:Linux的回收站#作者:郭老师#blog: https://blo...

2019-09-22 18:50:06 1330

原创 /etc/shadow文件破解,密码破解,md5,SHA256,SHA512破解

环境Kali系统John the Ripper密码破解者shadow文件解析文件的格式为:{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}其中{加密后的口令密码}的格式为 $id$sa...

2019-07-18 16:18:03 23543 18

原创 Maven私有仓库Nexus搭建

背景每一个互联网公司都会有自己的开发团队。如果是JAVA团队,那么就会有公司里开发的jar包。怎么管理jar包是一个不可逃避的问题。搭建Maven私有仓库Nexus是一个不错的解决方案。环境CentOS7JDK需要安装jdk,不会的小伙伴可以参考我的另一篇博客:Linux下JDK安装Nexus下载Nexus有两种版本:Nexus Pro为专业版,需要收取一定费用。这里...

2019-05-27 19:16:29 376

原创 Kubernetes(K8s)之Pod

Pod介绍Pod是K8s的最小调度单位内部是一组Container容器,根容器Pause和其他业务容器拥有唯一Pod IP小贴士:在生产环境中,极少单独Pod的情况一般都是使用Deployment等方式对Pod进行管理Pod调度实例1.编辑yaml文件vim myweb1.yaml #添加以下内容apiVersion: v1 #api版本kind: Pod ...

2019-04-25 14:50:17 2280

原创 Kubernetes(K8s)最新版搭建

Kubernetes简单介绍Kubernetes意为舵手,简称K8s。前身是Google的Borg。所以一开源就吸引了一大批注意力。因为谷歌,所以墙。在国内搭建K8s非常头疼。下面我就来介绍一下,怎么绕过墙来部署k8s。环境准备节点操作系统IPmasterCentOS7192.168.191.138worker1CentOS7192.168.19...

2019-04-19 17:13:06 4653

原创 Docker私有仓库之Harbor的搭建与管理维护

Harbor介绍Harbor是一个开源的私有Docker仓库,开源在著名的代码托管平台github上。可以在这里查看:harbor_github下面详细介绍Harbor的安装与管理维护。安装环境CentOS7安装Docker# step 1: 安装必要的一些系统工具:sudo yum install -y yum-utils device-mapper-persistent...

2019-04-19 10:14:30 2332

原创 TCP三次握手与四次挥手

TCP三次握手和四次挥手是可靠传输的保证。三次握手建立连接有三步:1.Client发送SYN至Server2.Server收到SYN之后,对此SYN进行回应:发送包含ACK和SYN的数据包至Client。3.Client也对此SYN进行回应,发送ACK至Server。四次挥手释放连接有四步:1.客户端发送FIN至Server。2.Server对此FIN进行回应:发送ACK...

2019-04-14 20:14:06 469

原创 nginx中多个server块共用upstream会相互影响吗

nginx中经常有这样的场景,多个server块共用一个域名。如:upstream有2个以上的域名,nginx配置两个server块,共用一个upstream配置。那么,如果其中一个域名发生"no live upstreams while connecting to upstream"错误,会不会影响另一个域名呢?

2024-01-11 21:18:30 477

原创 批量导出语雀文档

文档默认会导出在output目录下,可以在配置文件中修改。

2023-07-12 23:50:07 704 2

原创 国内外公共 DNS调研

调研了国内外的公共DNS的服务质量

2023-06-17 23:41:32 1249

原创 glog_bash:在bash中优雅输出日志

官方仓库:https://github.com/GuoFlight/glog_bash 。下载其中的glog_bash.sh即可。这是专门用于bash脚本中的logger,名为glog_bash。其中,g for 郭。如果有帮助到你,欢迎Star。有任何需求和问题,可以联系我[email protected]

2023-06-10 00:37:40 974

原创 用go模拟键盘输入

仅供学习使用哈,不要用来开gua。代码仓库:https://github.com/GuoFlight/gkeybd (本人仓库,欢迎留言)

2023-05-06 22:46:06 338

原创 用bpftrace窃取Mysql账号密码

简单演示一下如何利用bpftrace窃取Mysql的账号密码

2023-03-05 15:46:35 112

原创 一些实用的职场理论

有理论知识作为指导,可以提升自己的工作效率,工作质量,让自己的专业能力最大程度地发挥。养成习惯,可有效提升自己的三原力:理解力、表达力、影响力。长期进化,会改变一个人的思维方式,乃至整个人生的态度。

2023-03-03 01:02:44 127

原创 Mac监控键盘输入并执行动作

电脑的安全是非常重要的,特别是里面的敏感数据,若是被有心之人利用,那后果不堪设想。所以我们部门定下了一个规矩,谁离开工位要是不锁屏,就可以在部门群发送一个消息:我请大家吃鸡翅。oh,技术出身怎么可以让这种事情发生。

2023-02-26 13:03:58 1015 2

原创 SRE:如何提高报警有效性?

SRE视角下提升报警有效性的方法

2023-02-05 18:46:05 332

原创 python的paramiko模块

实战代码

2023-02-04 18:55:18 151

原创 Golang支持重试的http客户端ghttp

简介官方仓库:https://github.com/GuoFlight/ghttp重试的逻辑依赖了github.com/avast/retry-go入门client := ghttp.Client{ Method: ghttp.MethodGet, Url: "https://www.baidu.com",}res, err := client.Do()if err != nil { fmt.Println(err) return}fmt.Printl

2022-05-15 00:37:27 489

原创 Go1.13的坑:无法结束Goroutine

背景作为运维小哥,想用Go模拟Cpu占用100% 1秒钟,但是在Go1.13上遇到了问题,1s后Goroutine不会停止。只要用了for{},Goroutine就无法结束,即使主Goroutine结束。代码package mainimport ( //"fmt")import "time"func Test1() { for { //fmt.Println("hello") //随便在for循环中加个语句,就可以停止了 }}func m

2022-04-17 01:16:11 349

原创 golang执行命令 && 实时获取输出结果

背景golang可以获取命令执行的输出结果,但要执行完才能够获取。如果执行的命令是ssh,我们要实时获取,并执行相应的操作呢?示例func main() { user := "root" host := "172.16.116.133" //获取执行命令 cmd := exec.Command("ssh", fmt.Sprintf("%s@%s", user, host)) cmd.Stdin = os.Stdin var wg sync.WaitGroup wg.Add(2)

2022-04-17 01:04:50 3144

原创 支持TraceID、错误文件、错误行的第三方golang库:gerror

Gerr库简介Golang第三方库官方仓库:https://github.com/GuoFlight/gerr特点:兼容golang原生error库gerr会自动生成traceID,方便排查整条链路的错误。gerr会自动获取错误发生的文件名+函数名+行号,方便问题的定位。安装go get github.com/GuoFlight/gerrDemo详见官方Demo:https://github.com/GuoFlight/gerr/tree/main/examplepack

2022-04-01 22:42:40 973

原创 链表知识整理

链表定义type Node struct { Data int Next *Node}遍历链表func Traverse(head *Node){ for i := head;i!=nil;i=i.Next{ fmt.Printf("%d ",i.Data) } fmt.Println()}链表反转func Reverse(head *Node)(headNew *Node){ if head==nil || head.Next==nil{ return head }

2022-03-03 14:58:11 110

原创 Golang基于Mysql分布式锁实现集群主备

背景集群中如果需要主备,可以基于Redis、zk的分布式锁等实现,本文将介绍如何利用Mysql分布式锁进行实现。原理数据库中包含数据字段(此处为Master的主机名)、版本号和上一次更新时间。Master不断上传自己的心跳,即刷新数据库中的"更新时间"。上一次更新时间超过了一定时间,则认为Master已Down,则可以抢Master。抢Master和更新心跳时,版本号+1,要判断版本号是否与上一次读取的数据相同。如果相同,则修改成功。如果不相同,则说明Master已经被其他主机抢走。数据库

2022-02-18 00:36:56 627

原创 ServiceMesh、SideCar和Istio

Service Mesh简介Service Mesh直译过来就是服务网格,而他的架构就是一个个微服务组成的网络。Sidecar简介Service Mesh中的节点就是Sidecar节点。sidecar直译过来就是这种摩托车,意为业务容器和非业务容器分离,如agent服务全部部署在非业务容器中。sidecar proxy的作用和好处有很多:sidecar proxy能接管对应服务的入流量和出流量,所以sidecar proxy是有流量管理的功能,有了这个能力,可以做太多太多的事情了,如放火

2022-01-23 17:13:37 949

原创 Golang线程池gpool

背景golang中使用并发要考虑很多问题,如控制并发量、等待Goroutine执行完毕等。看下面一段代码:var wg sync.WaitGroupcount := 10wg.Add(count)limitGoroutineCount := make(chan int,5)for i:=0;i<count;i++{ go func(a int){ limitGoroutineCount <- 1 if time.Now().Second()%4==0{ wg.Don

2022-01-03 16:06:44 2217

原创 Bloom Filter布隆过滤器

简介本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。背景HashMap 的问题:HashMap可以在 O(1) 的时间复杂度内返回结果,效率奇高。但是 HashMap 的实现也有缺点,例如存储容量占比高,考虑到负载因子的存

2022-01-02 01:09:17 408

转载 LVS详解

LVS简介LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。LVS名词解释DS:director server,即负载均衡器,根据一定的负载均衡算法将流量分发到后端的真实服务器上.RS:real server 真实的提供服务的server,可被DS划分到一个或多个负载均衡组.BDS:backup director server,为了保证负载均衡器的高可用衍生

2022-01-01 22:48:33 3043 5

原创 解决Vue中使用history路由模式出现404的问题

背景vue中默认的路由模式是hash,会出现烦人的符号#,如http://127.0.0.1/#/。改为history模式可以解决这个问题,但是有一个坑是:强刷新、回退等操作会出现404。Vue改用History路由模式修改src/router/index.jsexport default new Router({ mode: 'history', //改为history模式 routes: [ { path: '/pub', component:Emp

2021-11-21 00:26:41 7567

原创 nginx 报错整理

【关键词】version 1021004 instead of 1020001报错示例:nginx: [emerg] module “/usr/lib64/nginx/modules/ngx_http_headers_more_filter_module.so” version 1021004 instead of 1020001 in /etc/nginx/nginx.conf:9场景:nginx配置文件使用load_module /path/to/modules/ngx_http_head

2021-11-14 00:49:07 2757

原创 k8s健康检查(探针Probe)之LivenessProbe、ReadinessProbe和StartupProbe

本文章未经过严格验证,如有错误,辛苦指出。背景来看看下面几个场景:在服务滚动部署的过程中,有些容器虽然启动了,但是内部的服务却暂时没有启动,这个时候就不能接流。集群正常服务时,也会出现容器死掉问题,如宿主机故障、资源不足、下游故障等。这个时候容器也需要从endpoints摘除,进行restart等动作。Liveness、Readiness和Startup可以比较优雅地解决这些问题。...

2021-10-23 16:52:47 1529

原创 k8s中的亲和性、污点与容忍(调度到不同的宿主机)

本文章并未经过严格实践,如有错误,辛苦指出。背景服务需要多副本,来保证高可靠、多活。那么问题来了,假如这些副本都在同一个宿主机上,或者同一个交换机下…宿主机、交换机其中一项坏掉了,那多副本还有什么意义?怎么解决呢?需要用到k8s中的亲和性和反亲和性。将容器调度到不同的宿主机即可。nodeSelector标签实践:Pod只能调度到某些node上背景:如某些服务对磁盘读写要求很高,则需要调度到SSD或nvme硬盘的宿主机上。示例:apiVersion: v1kind: Podmeta

2021-10-08 00:22:31 990 2

原创 正则表达式

本文章逐渐更新最小匹配背景:aabab文本中,想要匹配aab和ab,而不是一次匹配出aabab。最小匹配:在pattern后加问号?即可,就会最小匹配了示例:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。参考文档:https://blog.csdn.net/zcc_0015/article/details/80744601那年,郭少在京城...

2021-09-27 16:29:32 115

原创 nginx反向代理与长连接

说明本文章很多内容只是从网上参考+个人经历的理解所得,暂时没有经过实证,故仅供参考。实现原理nginx反向代理的长连接有两个方面:client与nginx的长连接。nginx与upstream的长连接。这两点并不是都需要配置,按需配置即可,你可以只配置clint与nginx的长连接。client与nginx的长连接http { keepalive_timeout 120s 120s; #参数1:client与nginx的超时时间。参数2:可选、在响应的header中设置一个

2021-09-25 23:05:36 2579

原创 http状态码梳理

4xx(请求错误)状态码描述400(错误请求)服务器不理解请求中的语法404(未找到)服务器找不到这个网页

2021-06-26 22:59:58 159

原创 Mac安装软件报错整理

报错:error: Bison version 2.5 or higher must be installed on the system!场景:编译安装thrift的时候由于mac本身的bison版本过低就会报这个错误。解决:sudo port install bison (需要安装macport)验证:重新打开终端输入bison --version...

2021-04-29 21:06:46 692

原创 什么是跨域?跨域解决方法

为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)什么是跨域当前页面url被请求页面url是

2021-04-22 11:58:21 117

原创 解决登录服务器报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

背景登录服务器的时候报错:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone

2021-04-03 11:33:55 432

原创 Core Dump排查

背景上次在CentOS8上用Python2运行程序。别问我为啥用了CentOS8了还用Py2。TM代码山不能动啊。然后,Core Dump了…什么?Python还能Core Dump?可能CentOS8和Python2不配…奶奶个熊,花了我一个星期。怎么排查Core Dump?一直觉得Core Dump的东西不是人看的。(其实是我太垃圾.jpg)更好的方法:总有一个语句是导致Core Dump的。导致了Core Dump程序就会退出,然后会生成Core文件。重点在退出,不是在生

2021-04-02 16:39:26 324

原创 解决crontab无日志输出的问题,docker容器中使用rsyslogd

现象在容器中使用crontab,任务明明执行了,但是却没有日志输出。原因crond调用rsyslog服务写日志。但在容器环境,crontab写日志所需的rsyslog服务默认并不启动,或并没有安装。解决方案:安装并启动rsyslogd安装rsyslogyum -y install rsyslogrm -f /etc/rsyslog.d/listen.confvim /etc/rsyslog.conf $OmitLocalLogging offrsyslogd #启动日志服务

2021-03-19 14:28:53 1910

原创 Mac安装Mysql

地址:https://downloads.mysql.com/archives/workbench/提示:安装8.0.22版本没有问题,有些版本可能会导致意外退出。

2021-03-11 15:00:30 105

java11安装包(arm架构centos系统)

java11安装包,yum直接安装

2024-03-16

go1.20.5Windows的一键安装包

msi格式

2023-06-22

Windows改键软件RemapKey

可以给Windows改键

2023-04-21

Shell脚本实现回收站的功能 版本v1.1

版本v1.1 支持同时删除多个文件,支持使用通配符删除。 到目前为止,非图形化的Linux还没有回收站的命令。 那么,我们如果不小心将某一个文件删掉了,那就只能数据恢复了。如果这也不行,那就等着哭吧。 把此脚本放入/usr/local/bin目录下,然后使用del 123.txt就可以将文件放入回收站,而不是真的删除。而且可以"删除"同名的文件。

2019-10-01

Shell脚本实现回收站的功能

到目前为止,非图形化的Linux还没有回收站的命令。 那么,我们如果不小心将某一个文件删掉了,那就只能数据恢复了。如果这也不行,那就等着哭吧。 把此脚本放入/usr/local/bin目录下,然后使用del 123.txt就可以将文件放入回收站,而不是真的删除。而且可以"删除"同名的文件。

2019-09-22

基于fping和python3多进程测试网络收敛时间.zip

环境:Linux+Python3 使用方法:python3 ping_loss_process2.py ip.txt 其中,ip.txt文件中包含了所有需要测试的ip或域名,以换行隔开 作用:通过fping测试网络收敛时间,创建了多进程同时测试多个ip 测试方法:运行脚本后断开网络再恢复网络。通过Ctrl+C退出。

2019-08-19

计算网络中断与网络恢复的时间差.py

语言使用的是Python。 适合在Linux上运行,其他平台可能需要修改代码。 作用:判断断网到网络恢复的时间间隔。可以用来计算网络收敛时间。 其他类似的作用也可以通过代码修改实现。 已经用手机秒表测试,误差在1s之内。

2019-08-06

john-1.9.0.zip

这是安装包,平台为Linux,/etc/shadow文件破解,密码破解,md5,SHA256,SHA512破解。 里面有安装和使用教程。

2019-07-18

STP.RSTP.MSTP华三教材(很明细).doc

这是华三的教材,非常明晰,讲得非常好,关于STP,RSTP和MSTP。

2019-06-23

nexus-3.16.1-02-unix.zip

maven私有仓库nexus源码包,可以参考我的博客进行安装:https://blog.csdn.net/NetRookieX

2019-05-27

go1.12.5.linux.zip

Liunx下安装包,解压到/usr/local下配置环境变量即可使用。在我的CSDN里面有教程。

2019-05-21

go1.12.5-Windows.zip

windows版go语言安装包,一键安装,在cmd命令行中就可以使用。官网被墙,下载不到。

2019-05-21

jdk-8u162-linux-x64.zip

Linux下jdk安装源码包,8u162版。我的博客有安装教程,需要的可以查看。

2019-05-18

Docker-Compose-二进制运行程序

适用与CentOS,其他操作系统没有尝试过,将其复制到/usr/local/bin/重命名为docker-compose,并给予其运行权限即可使用。

2019-04-19

OSPF之DR和BDR

详细介绍了OSPF的概念与区域等知识,重点讲解了DR与BDR的选举,最后附带了关于OSPF常见的思科命令配置.

2019-04-09

利用公私钥加解密

里面有两个文件.分别对指定字符串进行加解密,可以对代码进行修改.(需要自带公私钥)

2019-04-02

修改ssh端口号

适合于CentOS和RHEL,下载后给其权限,运行就可以一键改变ssh端口号

2019-03-12

Docker-compose一键安装脚本

适合于CentOS和RHEL,下载后给其权限,运行就可以一键自动安装Docker-compose

2019-03-12

Docker一键安装脚本

适合于CentOS和RHEL,下载后给其权限,运行就可以一键自动安装Docker

2019-03-12

Python3一键安装脚本

适用于CentOS和RHEL,下载后给其执行权限,运行就可以一键安装Python3

2019-03-12

空空如也

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

TA关注的人

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