自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

运维@小兵的博客

技术改变世界!

  • 博客(351)
  • 资源 (6)
  • 收藏
  • 关注

原创 源码编译mosquitto cannot stat ‘mosquitto.8‘: No such file or directory

源码安装mosquitto cannot stat ‘mosquitto.8‘: No such file or directory源码编译安装mosquitto,执行make install报如下错误原因:没有把libwebsockets的头文件和库文件的路径添加到环境变量libwebsockets的头文件和库文件路径在编译安装的时候能够看到解决cat >> /etc/profile << EOFexport WEBSOCKET_HEADER=/usr/local/i

2021-05-06 22:02:15 5

原创 shell脚本配置DNS

#!/bin/bash#设置DNS[[ $# -ne 2 ]] && echo "ERROR:Invalid Param,Please Excute:bash $0 url dns_ip" && exit 1URL=$1DNS_IP=$2http_code=$(curl -k -m 3 -s -o /dev/null -w %{http_code} ${URL})if ! echo ${http_code} | egrep '^[234]' &>

2021-05-01 22:39:18 9

原创 Docker Swarm修改服务映射的端口

创建/删除服务docker network create -d overlay tomcat_netdocker service create --replicas 1 --network tomcat_net --name my_tomcat -p 80:8080 tomcat:v1.0 #默认PublishMode为ingress或者docker service create --network tomcat_net --name my_tomcat --publish mode=host,t

2021-04-27 20:49:40 19

原创 Shell通过递归求阶乘

#!/bin/bash#Function:求阶乘Func(){ x=$1 if [[ ${x} -eq 1 ]];then echo "1" else echo "$[$x * $(Func $[$x-1])]" fi}result=$(Func $1)echo "$1的阶乘是:${result}"

2021-04-26 22:23:31 11

原创 set命令详解

一、set -e说明"Exit immediately if a simple command exits with a non-zero status."也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出。示例#!/bin/bashset -els a.txt | echo "hi" >/dev/nullecho $?echo "test"执行结果:没有a.txt文件,但是ls a.txt | echo “hi” >/dev/n

2021-04-21 21:35:15 14

转载 Shell部署LNMP环境

参考书籍:《Linux Shell核心编程指南》——丁明一#!/bin/bash#功能描述(Description):一键部署LNMP环境.#执行脚本时需要在当前目录下有:nginx-1.14.2.tar.gz,mysql-boost-8.0.13.tar.gz,php-7.3.0.tar.gz.#设置各种显示消息的颜色属性.SETCOLOR_SUCCESS="echo -en \\033[1;32m"SETCOLOR_FAILURE="echo -en \\033[1;31m"SETCOL

2021-04-20 22:28:46 17

原创 Linux管道详解

文章目录一、概念二、匿名管道三、命名管道`3.1.特征``3.2.示例`参考书籍:《Linux Shell核心编程指南》——丁明一一、概念管道是进程间通信的一种方式。分为匿名管道和命名管道二、匿名管道这个最常用,使用|符号就可以创建一个匿名管道。例如:cat /etc/hosts | grep 127.0.0.1匿名管道仅可以实现父进程与子进程之间的数据交换,要想实现任意两个无关的进程之间的通信,需要使用命名管道。三、命名管道命名管道也叫FIFO文件,即First In Firs

2021-04-14 21:41:52 32

原创 Linux文件描述符详解

文章目录一、概念二、手动创建文件描述符`2.1.语法`2.1.1.创建2.1.2.调用2.1.3.关闭`2.2.重定向输出的文件描述符``2.3.重定向输入的文件描述符``2.4.既可以输出又可以输入的文件描述符`三、使用read命令读取文件描述符参考书籍:《Linux Shell核心编程指南》——丁明一一、概念文件描述符是一个非负整数,内核需要通过这个文件描述符才可以访问文件文件描述符好比一本书的目录(索引),通过这个索引可以找到需要的内容在Linux系统中内核默认为每个进程创建三个标准的文

2021-04-12 23:10:08 40

原创 解决k8s Error registering network: failed to acquire lease: node “master“ pod cidr not assigne

部署flannel网络插件时发现flannel一直处于CrashLoopBackOff状态,查看日志提示没有分配cidr解决vim /etc/kubernetes/manifests/kube-controller-manager.yaml增加参数:--allocate-node-cidrs=true--cluster-cidr=10.244.0.0/16systemctl restart kubelet...

2021-04-09 21:18:37 79

原创 shell编程注意事项

不能把函数名管道给tee下面这种写法是有问题的func | tee -a install.log当func函数中的退出码为非0时,整个脚本的退出码等于tee -a install.log的退出码,因此为0

2021-04-09 21:08:18 21

原创 获取Django项目的绝对路径

一、介绍项目名:K8sSdkpython脚本:k8s.py脚本所在路径目的:在k8s.py中获取K8sSDK项目所在的绝对路径二、k8s.py代码import settingsprint(settings.BASE_DIR)三、效果四、为什么导入settings模块可以得到当前项目的绝对路径?其一:从第一张图可以发现settings.py与k8s.py在同一级目录,因此是直接import settings其二:在settings.py中有如下代码,正是获取Django项目的绝对

2021-03-21 13:28:38 144

转载 shell脚本统计分析Nginx日志

#!/bin/bash#功能描述(Description):Nginx标准日志分析脚本.#统计信息包括:#1.页面访问量PV#2.用户量UV#3.人均访问量#4.每个IP的访问次数#5.HTTP状态码统计#6.累计页面字节流量#7.热点数据GREEN_COL='\033[32m'NONE_COL='\033[0m'line='echo ++++++++++++++++++++++++++++++++++'read -p "请输入日志文件:" logfileecho#统计页

2021-03-15 21:07:16 29

转载 Django登录认证装饰器

代码from django.shortcuts import redirect#登录认证装饰器def self_login_request(func): def inner(request, *args, **kwargs): is_login = request.session.get('is_login', False) if is_login: return func(request, *args, **kwargs)

2021-03-14 10:18:55 66

原创 Groovy的httpRequest GET方法 URL用$filter过滤提示illegal character错误

匹配年龄等于18的字段错误的写法:url = “http://ip/api/$filter=age eq 18”正确的写法:url = “http://ip/api/$filter=age%20eq%2018”PS:空格要用%20代替

2021-03-12 22:12:35 16

转载 Python之K8S API接口大全

文章目录环境准备`安装python相关模块`Kubernetes API使用`API是什么?``K8s认证方式`HTTPS证书认证(kubeconfig)HTTP Token认证(ServiceAccount)获取Token字符串python调用`其他常用资源接口类实例化:``示例`操作Deployment操作Service`HTTP API`使用token使用证书环境准备安装python相关模块pip3 install kubernetesKubernetes API使用API是什么?A

2021-03-06 11:53:42 215

转载 通过curl命令访问K8s API

使用tokentoken="eyJhbGciOiJSUzI1NiIsI..."curl --cacert /etc/kubernetes/pki/ca.crt -H "Authorization: Bearer $token" https://192.168.31.61:6443/api/v1/namespaces/default/pods使用证书curl https://192.168.31.61:6443/api/v1/nodes \--cacert /etc/kubernetes/pki

2021-03-06 11:25:21 132

转载 Python通过K8s API实现对K8S集群的访问认证

文章目录一、环境准备`1.1.安装python相关模块`二、Kubernetes API使用`2.1.API是什么?``2.2.K8s认证方式`1、HTTPS证书认证(kubeconfig)2、HTTP Token认证(ServiceAccount)获取Token字符串拷贝ca证书到python脚本所在的目录python调用3、用户名+密码的方式认证基本不用参考视频:https://ke.qq.com/course/320021一、环境准备1.1.安装python相关模块pip3 install

2021-03-06 11:09:31 181

原创 shell数组详解

参考书籍:《Linux Shell核心编程指南》概述数组是Shell的一种特殊变量,是一组数据的集合,里面的每个数据被称为一个数组元素。当前Bash仅支持一维索引数组和关联数组,Bash对数组的大小没有限制。定义数组索引数组第一种方法array1[0]=aarray1[1]=barray1[2]=c这会得到一个包含三个元素的数组array1第二种方法array2=(a b c)元素之间以空格隔开处理数组直接获取元素的值及数组的信息获取单个元素的值echo ${array

2021-03-05 22:24:26 95

原创 使用read格式化输出所有分区的挂载信息

df -h | grep ^/ | while read name size otherdoecho "${name} ${size}"done

2021-03-05 21:14:30 37 1

原创 shell脚本格式化输出/etc/passwd文件内容

#!/bin/bash#IFS定义分隔符(临时修改,仅对read有效).#read定义7个变量,分别对应/etc/passwd每行数据中的7列.while IFS=":" read user pass uid gid info home shelldo echo -e "My UID:$uid,\tMy home:$home"done < /etc/passwd

2021-03-05 21:11:50 79 1

转载 shell脚本实现机选双色球

#!/bin/bash#功能描述(Descrtiption):机选双色球.#红色球1-33,蓝色球1-16,红色球号码不可以重复.#6组双色球,1组蓝色球.RED_COL='\033[91m'BLUE_COL='\033[34m'NONE_COL='\033[0m'red_ball=""#随机选择1-33的红色球(6个),1-16的篮球(1个).#每选出一个号码通过+=的方式存储到变量中.#通过grep判断新选出的红球是否已经出现过,-w选项是过滤单词.while :do

2021-03-03 22:26:18 127 1

转载 Python正则表达式

参考视频:https://ke.qq.com/course/320021re 标准库re.compile方法语法:re.compile(pattern, flags=0)pattern 指的是正则表达式。flags是标志位的修饰符,用于控制表达式匹配模式示例:import res = 'this is test string'pattern = re.compile('this') # 定义一条正则result = pattern.match(s)print(result.gr

2021-03-01 20:31:18 34

原创 解决误删docker0网桥导致容器创建失败的问题

重新创建Docker0网桥即可查看docker0网桥的默认网段docker network inspect bridge创建docker0网桥brctl addbr docker0ip addr add 172.17.0.1/16 dev docker0ip link set dev docker0 up

2021-03-01 20:27:51 56

原创 通过awk同时获取镜像的名字和版本

docker images | grep ‘cdk8s’ | awk ‘{printf"%s:%s",$1,$2}’

2021-03-01 20:20:00 54

原创 在github上创建分支

GitHub上创建一个项目,默认只有一个master分支,下面演示如何创建分支,这操作简单得让我找了半天的创建按钮输入分支名develop,点击下面的Create branch创建成功简直坑大了,还以为跟gitlab似的有创建按钮...

2021-02-28 10:52:39 57

原创 groovy把数字字符串转化为整型

背景:传一个字符串num,它的值可能是小数型字符串,如“0.25”,也可能是整数型字符串“1”,最终要将其转换为Float型0.25,或者Integer型1代码def num = '0.25'if(num.isInteger()){ num = num.toInteger()}else if(num.isFloat()){ num = num.toFloat()}else{ println "输入的不是数字" return 1}println num结果n

2021-02-28 10:51:48 149

原创 SonarQube安装中文插件

一、下载地址https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.3二、拷贝sonar-l10n-zh-plugin-8.3.jar到/usr/local/sonarqube/extensions/plugins/下PS:目录跟自己源码安装时指定的路径有关,默认为/usr/local/sonarqube三、重启SonarQube即可...

2021-02-28 10:51:03 91

原创 ubuntu源码编译logrotate

文章目录一、构建POPT库`1.1.安装依赖包``1.2.下载源码``1.3.配置编译环境`二、编译logrotate`2.1.下载源码包``2.2.源码编译`三、使用logrotate一、构建POPT库1.1.安装依赖包apt-get install gcc make autoconf automake autopoint libtool-bin1.2.下载源码git clone https://github.com/devzero2000/POPT.git1.3.配置编译环境cd

2021-02-27 21:14:12 32

原创 卸载kubeadm安装的K8s集群

重置Kubeadmkubeadm reset -f删除docker无用的镜像容器docker system prune -f清空iptables规则iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F ipt

2021-02-27 21:13:37 156

原创 html标签使用、表单、表格

文章目录网页组成一、基本结构HTML介绍二、标签使用`2.1.文本标签``2.2.列表标签``2.3.超级链接``2.4.锚点跳转``2.5.图片标签``2.6.div标签`三、表单/表格`3.1.表单标签``3.2.单选按钮组``3.3.下拉菜单``3.4.文本框``3.5.复选框``3.6.表格`参考视频:https://edu.51cto.com//center/course/lesson/index?id=224246https://ke.qq.com/course/320021网页组成

2021-02-27 21:12:29 86

原创 SUSE12安装docker19.03.13

一、下载docker二进制包wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.13.tgz --no-check-certificatetar xvf docker-19.03.13.tgz groupadd dockerchown .docker docker/*cp -a docker/* /usr/bin/二、创建/usr/lib/systemd/system/docker.service文件

2021-02-27 21:11:46 86 1

原创 ssh首次远程登陆主机不输入yes/no

方法一ssh 1.1.1.1 -o “StrictHostKeyChecking no”方法二[ ! -d “~/.ssh” ] && mkdir ~/.sshecho “StrictHostKeyChecking no” >~/.ssh/config

2021-02-27 21:11:26 53

原创 Linux检测IP合法性

if ! echo ${ip} |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' &> /dev/null;then echo "ERROR:${ip}不合法!!!" && exit 1fi

2021-02-27 21:11:11 37

原创 解决ansible-playbook执行时ssh连接timeout超时的问题

可以修改被控端机器的sshd配置文件,但这样需要重启sshd服务,有较大危险性,不推荐。推荐修改ansible的配置文件/etc/ansible/ansible.cfg添加如下配置参数即可ssh_args = -o ControlMaster=auto -o ControlPersist=360s -o ServerAliveInterval=30 -o ServerAliveCountMax=2360s #代表超时时间30 #心跳时间间隔2 #最大超时次数...

2021-02-27 21:10:24 397

原创 jenkins pipeline获取shell执行结果和执行状态码

获取执行结果result = sh(script: "<shell command>", returnStdout: true)获取执行状态码(0或者非0)excuteCode = sh(script: "<shell command>", returnStatus: true)参考文章:https://blog.csdn.net/liurizhou/article/details/86670092...

2021-02-26 20:27:03 428

原创 groovy replace字符串替换

去掉[/etc/hosts]中的“[”和“]”代码def hostFile = "[/etc/hosts]"println hostFile.replace("[","").replace("]","")结果注意如果处理的对象不是字符串,可以用toString()方法转换为字符串

2021-02-26 20:26:04 312

原创 kubectl exec -it非交互式登陆pod中的mysql容器并导入sql脚本

拷贝xxx.sql到容器里面kubectl cp /tmp/xxx.sql PodName:/tmp/ -n NAMESPACE #如果Pod里面有多个container,默认为container-0执行SQLkubectl exec -ti PodName -c container-0 -n NAMESPACE -- mysql -uroot -S /tmp/mysql.sock -pPASSQORD < /tmp/xxx.sql...

2021-02-26 20:23:08 144

原创 K8S部署Pod到指定节点

在启动Pod的yaml文件中与containers同级别的位置添加如下两行即可一、使用系统自带标签kubectl get node --show-labels #查看所有node节点的标签nodeSelector: kubernetes.io/hostname: node的IP地址或主机名二、自己为节点打标签,然后调度到该节点kubectl label node k8s-node1 app=devnodeSelector: app: dev...

2021-02-26 20:20:10 445

原创 K8S入门之一个简单的例子

参考书籍:《Kubernetes权威指南第4版从Docker到Kubernetes实践全接触》一、启动MySQL服务1.创建一个RC定义文件mysql-rc.yamlapiVersion: v1 #核心APIkind: ReplicationController #副本控制器RCmetadata: name: mysql #RC的名称,全局唯一spec: replicas: 1 #Pod副本的期待数量 selector: app: mysql

2021-02-26 20:19:18 74

原创 Shell脚本使用trap捕获信号删除自己

test.sh内容#!/bin/bash#DESCRIBE:执行完该脚本后删除该脚本echo "生亦何欢,死亦何苦!"trap "rm -rf test.sh" EXIT #脚本退出执行trap后面双引号中的命令

2021-02-26 20:10:29 28

Python-3.6.7.tgz

python3.6.7源码包 tar xzf Python-3.6.7.tar.gz cd Python-3.6.7 ./configure --prefix=/usr/local make &amp;&amp; make install

2019-11-03

电脑、电子类常见英文缩写

这是我总结的关于计算机和电子类的专业英文缩写词汇,希望能对大家有所帮助,如有不正确的地方,还望赐教!

2012-12-18

centos_7.2官方源.tgz

centos_7.2官方源,centos_7.2官方源

2019-12-05

电脑问题解决

这是我在日常生活中遇到的一些电脑问题,总结了一下解决方法,希望对大家有所帮助

2012-07-12

电脑可以登QQ、酷狗,但不能进网页问题解决

电脑可以登QQ、酷狗,但不能进网页问题解决

2012-11-06

如何修复桌面快捷方式

当你中病毒后桌面所有的东西都变成了快捷方式,就来试试我的方法吧,祝你成功!

2012-12-01

空空如也

空空如也

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

TA关注的人 TA的粉丝

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