09 2022 档案
摘要:##linux raid raid有好几种,下面简单介绍几种 ###raid0 要求:一块硬盘或者以上就可做raid0 优势:数据读取写入最快,最大优势提高硬盘容量,比如3快80G的硬盘做raid0 可用总容量为240G。速度是一样。 缺点:无冗余能力,一块硬盘损坏,数据全无。 建议:做raid0
阅读全文
摘要:[toc] ##mysql grant授权 ###基本语法 ``` grant 权限 on 数据库对象 to 用户 identified by 密码 ``` 用户一般格式是:用户名@IP 说明:IP有时候会写%。%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“19
阅读全文
摘要:##ansible register ansible register 这个功能非常有用。当我们需要判断对执行了某个操作或者某个命令后,如何做相应的响应处理(执行其他 ansible 语句),则一般会用到register 。 ###实例1 我们需要判断sda6是否存在,如果存在了就执行一些相应的脚本
阅读全文
摘要:##ansible template ###template介绍 Jinja是基于Python的模板引擎。template类是Jinja的另一个重要组件,可以看作一个编译过的模块文件,用来生产目标文本,传递Python的变量给模板去替换模板中的标记。 他与ansible的copy模块功能相似,都是拷
阅读全文
摘要:##linux iptables iptables 是 Linux 的防火墙管理工具而已,真正实现防火墙功能的是 Netfilter,我们配置了 iptables 规则后 Netfilter 通过这些规则来进行防火墙过滤等操作 ###Netfilter 模块 它是主要的工作模块,位于内核中,在网络层
阅读全文
摘要:##shell continue ###条件判断 #!/bin/bash for (( i=0;i<=10;i++ )) do if (( i>0 && i<7 ));then continue else echo "Number is $i" fi done 结果: Number is 0 Num
阅读全文
摘要:##git 查看代码是谁提交的 有很多种方法,比如登陆gitlab查看,或者在本地查看等 ###用idea查看 当我们拉取代码后,本地代码或者脚本无法定位是谁写的。需要找到责任人时,可以在idea上查看 在代码行数部分右键,选择annotate 可以看到是谁提交的代码和提交时间
阅读全文
摘要:##groovy 脚本实例 创建ConfigMap ###创建ConfigMap package platform.branch_feature. node('ecs_wuhan_docker') { println "${BUILD_URL}console" def xxlJob = ENVIRO
阅读全文
摘要:##groovy 脚本实例 创建环境 ###创建环境 package platform.branch_feature.mysql_docker_db node('ecs_wuhan_docker') { println "${BUILD_URL}console" def xxlJob = ENVIR
阅读全文
摘要:##groovy 脚本实例 从git上创建feature分支 ###从git上创建feature分支 //从git上创建feature分支 package common node('ecs_wuhan_docker') { /** 参数部分: * 这部分是自己定义的参数,根据生产线不通,需要根据情况
阅读全文
摘要:##groovy 脚本实例 调整k8s的副本数定时任务 ###调整k8s的副本数定时任务 package platform node('ecs_wuhan_docker') { println "${BUILD_URL}console" def wxKey = 'xxxxxx' def propos
阅读全文
摘要:##nginx 跨域问题 跨域问题有两种解决方法, 让开发自己修改代码解决跨域问题 修改nginx配置解决跨域问题 这里是记录了nginx的解决方式 后端服务调用报错跨域问题,为解决跨域问题,在网上搜索一大坨跨域解决方案,可以先都粘过去,后面慢慢删挑选正确的跨域问题 proxy_set_header
阅读全文
摘要:##shell while ###实例 ####判断数字大小或条件 //这里提前定义了num1和num2 num1=1; num2=3; while (($num1 ==0)) | (($num2==3)) ; do if [ $a -eq 1 ];then sleep 1; echo "$a";
阅读全文
摘要:##docker 一个容器启动多个服务 docker官方并不推荐一个容器启动多个进程,以下是我的总结 启动多个进程只能用脚本作为容器的主进程,真正运行的服务都是2号进程或者3号进程。 只有主进程脚本退出,整个容器才会退出,像2号,3号甚至4号进程都是后台运行,退出并不会影响容器的启动,除了问题排查很
阅读全文
摘要:##linux curl ###参数说明 # curl工具:c写的一个命令 # -A 设置user-agent curl -A "Chrome" http://www.baidu.com # -b 设置cookies,发起一个带cookies的http请求 curl -b a=test http:/
阅读全文
摘要:##python爬虫curl #!/usr/bin/env python # -*- coding:utf-8 -*- # BY:wenchao.Li time: 2021/11/18 # curl工具:c写的一个命令 # -A 设置user-agent curl -A "Chrome" http:
阅读全文
摘要:##java Xms && Xmx 在运行java的jar包时,经常使用的命令 nohup java -Xmx8196m -Xms8196m -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=256M ... ###-Xms和-Xmx -Xms: 设置初始化堆内
阅读全文
摘要:目录k8s无头服务无头服务是什么为什么会有无头服务,用途是什么 k8s无头服务 无头服务是什么 无头服务根据我自己的理解来说,我们访问一个服务正常是访问的4层代理service或者7层代理ingress。而无头服务就是跳过这个4层或者7层代理,直接与pod的真实Ip进行访问。正常我们通过nslook
阅读全文
摘要:##git 分支定义 ###公司内部流程图 黄色是发版点,蓝色是修改代码点,蓝色箭头表示需要代码走查的分支合并。分支定义: dev 受保护分支,开发分支,发版后要打tag ,开发人员拉出feature分支进行feature开发 hotfix 已发版本如需紧急bug修复,从发版点拉hotfix分支修改
阅读全文
摘要:##linux 磁盘基础知识 ###基本概念 假如你有个大木桶要装东西,如果木桶没有划分层,所有东西全部放入里面,虽然可以装,但是对大木桶的使用就合不合理,造成杂乱无章,寻找东西时候也耗时,甚至还有不同物品之间不能存放在一起而导致危险,那更好的做法自然是给大木桶画一下不同的区域,分成不同的层,每个层
阅读全文
摘要:##linux 升级centos7版本 我这里从centos7.*升级到centos7.9 ###查看系统版本 [root@centos7-2 ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) ###更换国内源 //更换
阅读全文
摘要:##linux iostat ###参数详情 –xm 带XM参数显示扩展信息并将磁盘数据有每扇区改为每兆显示(1扇区等于512字节) -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥. -k 以K为单位显示每秒的磁盘请求数,默认单位块. -p device |
阅读全文
摘要:##groovy 脚本实例 检测git提交信息并推送到企业微信 ###检测git提交信息并推送到企业微信 package common.ecs import groovy.json.JsonSlurperClassic import java.time.LocalDateTime import ja
阅读全文
摘要:##npm yarn报错 ###yarn: 无法加载文件 win10系统,yarn : 无法加载文件 C:\Users\丽丽小可爱\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 ... 导致此错误的原因是,PowerShell 执行策略,
阅读全文
摘要:目录基础入门CSS语法CSS选择器基础选择器标签选择器类选择器id选择器群选择器全局选择器层级选择器子选择器包含选择器兄弟选择器相邻选择器其他常用选择器属性选择器伪类选择器伪类选择器hoverCSS引入方式内联内嵌外联样式基础CSS单位CSS颜色常用属性元素尺寸控制盒子模型Display调整内外边框
阅读全文
摘要:目录javascript 浏览器浏览器对象浏览器窗口大小浏览器信息屏幕信息访问网址历史记录AJAXXMLHttpRequest简单请求复杂请求axios页面(DOM)DOM查询更新DOM插入DOM删除DOM javascript 浏览器 先抛出2个场景的问题: 如何适配屏幕大小? 如何兼容多种浏览器
阅读全文
摘要:目录html 基础入门HTML 网页结构标签与元素class元素语法常用标签元素id案例style 元素的样式脚本 html 基础入门 HTML 网页结构 白色是我们能看到的部分,灰色是看不到的部分 title 就是我们打开网页时,最上面浏览器窗口栏显示的名字 标签与元素 像上图中的: html h
阅读全文
摘要:目录docker 迁移docker容器存放路径停止docker挂载新目录到docker根目录(伪映射)修改配置文件重启docker并验证 docker 迁移docker容器存放路径 停止docker systemctl stop docker 挂载新目录到docker根目录(伪映射) //创建新的存
阅读全文
摘要:##k8s endpoint ###endpoint是什么 endpoint是集群中的一个资源对象,储存在etcd中,用来记录一个service对应的pod的访问地址。 service配置serlector,endpoint controler才会自动创建对应的endpoint对象;否则,则不会创建
阅读全文
摘要:##k8s Sidecar ###什么是 Sidecar 模式 Sidecar 是一种将应用功能从应用本身剥离出来作为单独进程的设计模式,可以允许向应用中无侵入的添加功能,避免为了满足第三方需求而添加额外的代码。 在软件架构中,Sidecar 附加到主应用,或者叫父应用上,以扩展、增强功能特性,同时
阅读全文
摘要:##shell 环境变量 local global export ###环境变量local local一般用于局部变量声明,多在在函数内部使用 //如下脚本,test2是调用不到test1里面定义的参数 #/bin/bash test1() { local name="liwenchao" } te
阅读全文
摘要:##linux crontab计划任务 ###crontab计划任务参数无法传递 给项目上写了个清理日志的计划任务,脚本拿出来执行能正常清理,放到crontab执行却不生效,最后发现是脚本里的参数,也就是环境变量无法传递导致,而变量无法获取是因为没用docker的绝对路径,脚本如下 #!/bin/b
阅读全文
摘要:##shell if判断 ###参数说明 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为
阅读全文
摘要:##groovy 脚本实例 清理redis-cluster ###清理redis-cluster def redisClusterIp="192.168.58.134" def redisClusterPort=['7000','7001','7002'] def flushredisdb(redi
阅读全文
摘要:##javascript 开发前端准备 javascript一般自带了控制台,比如js语法,这是浏览器作为执行javascript的运行环境,但是我们开发不可能在浏览器上开发,我们需要在本地安装nodejs,nodesjs类似于javascript的一个执行器 ###安装NodeJs 官网地址: h
阅读全文
摘要:##linux sed ###参数总结 sed [-hnV][-e<script>][-f<script文件>][文本文件] -e <script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。 -f <script文件>或--file=<script
阅读全文
摘要:##linux awk ###参数总结 -f 从脚本文件中读取awk命令。 -F 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F: (–field-separator) -v 赋值一个用户定义变量。 ###内置变量 FS 保存或设置字段分隔符,如FS=”:” $n 指定分隔的第n
阅读全文
摘要:##linux grep ###参数总结 -w 或 --word-regexp 只显示全字符合的列,精准匹配 -a2 显示当前和前后两行的数据 -A<显示行数>或--after-context=<显示行数> 显示当前和后面两行的数据 -b2或--byte-offset 标示出该行第一个字符的编号,并
阅读全文
摘要:##k8s Operator ###什么是Operator operator其实就是两个部分: 控制器 + 用户自定义资源 控制器:其实ReplicaSet,deployment,statefulset等就都是控制器,只是operator是一个用户自己实现的控制器(可以是go程序也可以是脚本,本质就
阅读全文
摘要:##k8s HostAliases修改Pod中的/etc/hosts 当 DNS 配置以及其它选项不合理的时候,通过向 Pod 的 /etc/hosts 文件中添加条目, 可以在 Pod 级别覆盖对主机名的解析。你可以通过 PodSpec 的 HostAliases 字段来添加这些自定义条目。 建议
阅读全文
摘要:##oracle docker部署19c ###拉取Oracle19c镜像 docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c //如果下载慢,可以改成国内镜像源 vim /etc/docker/daemon.json
阅读全文
摘要:##python centos7安装python3 centos7默认的python版本是2.7,现在想升级python3,同时保留python2.7 官网下载地址: https://www.python.org/ftp/python/ ###安装前准备 //执行 which python |xar
阅读全文
摘要:##go gin验证码 在开发的过程中,我们有些接口为了防止被恶意调用,我们会采用加验证码的方式,例如:发送短信的接口,为了防止短信接口被频繁调用造成损失;注册的接口,为了防止恶意注册。在这里为大家推荐一个验证码的类库,方便大家学习使用。 github.com/dchest/captcha web端
阅读全文
摘要:##go Air实时加载 本章我们要介绍一个神器——Air能够实时监听项目的代码文件,在代码发生变更之后自动重新编译并执行,大大提高gin框架项目的开发效率。 ###为什么需要实时加载 之前使用Python编写Web项目的时候,常见的Flask或Django框架都是支持实时加载的,你修改了项目代码之
阅读全文
摘要:##go gin日志 ###日志文件 package main import ( "io" "os" "github.com/gin-gonic/gin" ) func main() { gin.DisableConsoleColor() // Logging to a file. f, _ :=
阅读全文
摘要:##go gin参数验证 ###结构体验证 用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多 package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) //Person .. type Person str
阅读全文
摘要:##go gin会话控制 ###Cookie介绍 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出 Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思 Cookie实际上就是服务器保存在浏览器上的一段信息。浏览器有了Cook
阅读全文
摘要:##go gin渲染 ###各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testda
阅读全文
摘要:##gin 数据解析和绑定 ###Json 数据解析和绑定 客户端传参,后端接收并解析到结构体 package main import ( "github.com/gin-gonic/gin" "net/http" ) // 定义接收数据的结构体 type Login struct { // bin
阅读全文
摘要:##go gin路由 ###hello world package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { // 1.创建路由 r := gin.Default() // 2.绑定路由规则,执行的函数 /
阅读全文
摘要:##linux dmesg时间戳转换成对应时间 ###1.1 获取dmesg的时间戳 [205979.184114] Memory cgroup out of memory: Kill process 7951 (mysqld) score 2016 or sacrifice child [2059
阅读全文
摘要:##linux 内核参数优化 //允许非本地Ip地址socket监听 net.ipv4.ip_nonlocal_bind = 1 //开启ipv4转发 net.ipv4.ip_forward = 1 //是否开启数据包时间戳 net.ipv4.tcp_timestamps = 0 //端口复用,0表
阅读全文
摘要:##docker 通过namespace实现资源隔离 Docker主要就是借助 Linux 内核技术Namespace来做到隔离的,Linux Namespaces机制提供一种资源隔离方案。 PID,IPC,Network等系统资源不再是全局性的,而是属于某个特定的Namespace。每个names
阅读全文
摘要:##rancher 证书过期处理 rancher部署的k8s集群只有一年有效期,证书过期,k8s集群就会报错x509类的报错,不可访问,需要重新颁发证书 rancher2.3.8版本和之前,都需要更新证书,每隔一年需要更新一次,否则证书过期,rancher登录不上去,很麻烦,2.4.0版本以后解决了
阅读全文
摘要:##docker-compose 模板文件 模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。 version:
阅读全文
摘要:##docker-compose 命令说明 ###1.1 命令选项 -f, --file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定。 -p, --project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名。 -
阅读全文
摘要:##docker-compose 安装与卸载 Compose 支持 Linux、macOS、Windows 10 三大平台。 Compose 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至能够直接在 Docker 容器中运行。 Docker Des
阅读全文
摘要:##docker-compose 简单入门 ###1.1 术语 首先介绍几个术语 服务 (service):一个应用容器,实际上可以运行多个相同镜像的实例。 项目 (project):由一组关联的应用容器组成的一个完整业务单元。 可见,一个项目可以由多个服务(容器)关联而成,Compose 面向项目
阅读全文
摘要:##mysql 主从备份原理 用途及条件 mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件: 主库开启binlog日志(设置log-bin参数) 主从server-id不同 从库服务器能连通主库 主从原理 master服务器将数据的改变记录
阅读全文
摘要:##linux $? $0 $! $$ $* $# $@的作用 我们用脚本可以验证 vim restart.sh #!/bin/bash echo "\$? is $?" echo "\$0 is $0" echo "\$! is $!" echo "\$$ is $$" echo "\$* is
阅读全文