自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

运维@小兵的博客

技术改变世界!

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

原创 Docker网络详解

文章目录Docker网络间通信宿主机ping容器,可以正常通信容器ping宿主机,可以正常通信容器ping外网,可以正常通信(前提条件是宿主机能访问外网)容器ping另外一个容器Docker网络常用技术`网络命名空间`网络命名空间的操作`Veth设备对`创建veth设备对实现veth设备对之间的通信常用操作`网桥`把veth0连接到网桥docker1删除网桥理解docker0`iptables和Netfilter``路由`路由表的创建路由表的查看Docker的网络实现`Docker启动后`NAT表filte

2021-07-24 23:03:18 286 5

原创 解决docker exec -it提示 no such container的问题

参考文章:Docker exec 出现 “fork/exec /proc/self/exe: no such file or directory” 问题可以通过nsenter进入# docker inspect -f {{.State.Pid}} 容器ID6670# nsenter -t 6670 -m -u -i -n -p

2021-07-22 11:15:13 25

原创 nginx rewrite重定向访问本地其它目录,并且保留请求的地址和端口

背景通过k8s访问http://192.168.1.2:32156/devops/index.html需跳转到http://192.168.1.2:32156/jenkins/配置文件location = /devops/index.html { rewrite ^ $scheme://$http_host/jenkins/ permanent; }location = /jenkins/ { root /usr/share/nginx/html; index /jen

2021-07-21 12:14:15 31 1

原创 cnpm run build: command not found遇到的坑

在Jenkins pipeline执行完cnpm install之后再执行cnpm run build提示cnpm run build: command not found去执行机上执行没问题,那问题应该就出现在Jenkins上面,使用绝对路径是一样的报错后面在pipeline的代码中发现cnpm run build之间的空格标了红色,手动输入这个命令解决问题。之前cnpm run build的命令是从开发给的文档上拷贝的,在IDEA上没有提示有问题原因就是空格是分两种的,标准的是32,另外一个是1

2021-07-16 10:31:04 20

原创 oracle导出导入dmp详解

基本原则导出什么表空间,导入也要什么表空间。导出什么用户,导入也要什么用户。使用exp导出需用imp导入使用expdb导出需用impdb导入导出DIRECTORY:转储文件和日志文件所在的目录DUMPFILE:数据导出后保存到哪个文件上compression:压缩本地导出expdp db_test/123456 DIRECTORY=DATA_PUMP_DIR schemas=PROJECT DUMPFILE=project.20210630.dmp compression=all远程

2021-07-15 17:24:21 25

原创 curl命令获取Jenkins job最后一次构建的完整输出

curl -X GET http://192.168.1.2:8080/jenkins/job/test/lastBuild/consoleFull --user 用户名:密码

2021-07-13 10:40:15 31

原创 ansible模块大全

指定远程主机用户,并sudo到root用户注意:需提前去远程主机配置允许普通用户sudo到rootecho "devops ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers #配置免密sudoansible all -a 'ls /root' -u devops -k -b #-a指定命令;-u指定远程主机用户;-b执行sudo,默认sudo到root用户user模块—创建用户并设置密码- name: create user user: nam

2021-07-09 16:26:18 28

原创 shell脚本安装redis(容器化)

#!/bin/bash<<INFOAUTHOR:运维@小兵DATE:2021-07-08DESCRIBE:Docker方式安装redisSYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -esource /etc/profile #避免ansible远程执行shell获取环境变量不一致的问题WORKDIR=$(cd `dirname $0`;pwd) #脚本所在路径echo "Curr

2021-07-08 19:48:22 16

原创 ansible的坑:直接执行shell脚本与通过ansible执行shell脚本得到的结果不一致

背景我直接执行shell脚本和用ansible执行shell脚本得到不一样的结果shell脚本中如果检查安装了jdk就会提示已经安装,然后退出,但在ansible中这个判断失效了,还是会去安装jdk截图原因在ansible种执行shell脚本,脚本中的判断如果使用下面这种方式,会忽略里面的exit,脚本会接着往下执行解决使用如下判断方式...

2021-07-07 18:23:03 77

原创 shell脚本安装jdk

#!/bin/bash# vim:sw=4:ts=4:et<<INFOAUTHOR:运维@小兵DATE:2021-07-07DESCRIBE:安装/卸载JDKSYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eWORKDIR=$(cd `dirname $0`;pwd) #脚本所在路径DATA_DIR="/app" #数据路径JDK_VERSION="1.8.0_161"JD

2021-07-07 14:55:42 16

原创 解决prometheus查询不到数据,报错Error fetching server time的问题

prometheus前端页面有如下警告这是由于你windows机器与部署prometheus服务器的时间不同步导致的解决在服务器执行ntpdate ntp.aliyun.com就能正常查到数据了

2021-07-06 15:27:24 93

原创 docker命令大全(新手必备)

镜像操作docker images #查看本地所有镜像docker load -i nginx.tar #导入nginx镜像docker rmi $(docker images -f "dangling=true" -q) #删除悬浮镜像docker system prune -f #删除停止的容器、至少一个容器未使用的所有网络、悬浮镜像、悬浮构建缓存;-f表示强制删除docker system prune -a #在上述基础上再删除没有任何容器使用的镜像、构建缓存...

2021-07-05 22:42:20 48 1

原创 shell脚本安装Docker(rpm版)

#!/bin/bash# vim:sw=4:ts=4:et<<INFOAUTHOR:运维@小兵DATE:2021-01-28DESCRIBE:1、rpm方式安装/卸载Docker,可以指定数据盘作为Docker的存储盘SYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eWORKDIR=$(cd `dirname $0`;pwd)LOG_PATH=${WORKDIR}/docker.logDOCKER_VERSION="18.

2021-06-29 22:49:58 30

原创 docker安装oracle,并实现数据持久化

文章目录拉取镜像启动一个临时容器,获取初始化数据启动容器初始化数据库解决修改密码时提示“ORA-01109: database not open”的问题`删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件`拉取镜像docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g启动一个临时容器,获取初始化数据docker run -d --name test --restart unless-stoppe

2021-06-28 11:40:57 68

原创 shell脚本安装MySQL

#!/bin/bash<<INFOAUTHOR:运维@小兵DATE:2021-06-26DESCRIBE:Docker方式安装MySQLSYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eMYSQL_PORT="3306"MYSQL_DATA_DIR="/var/mysql"MYSQL_CONTAINER_NAME="mysql"MYSQL_ROOT_PASSWORD="123456"HARBOR_USER="admin"

2021-06-26 17:50:34 39

原创 使用curl命令上传jar包到jfrog

curl -X PUT -u 用户名:密码 -T app.jar jfrog地址:端口/artifactory/v1.0/

2021-06-26 16:54:01 77

原创 shell脚本实现对Mysql数据库的初始化

#!/bin/bash<<INFOAUTHOR:anqixiangDATE:2021-06-24DESCRIBE:初始化Mysql,如创建用户、schema、授权、导入sqlSYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eMYSQL_IP=$1MYSQL_PORT=$2MYSQL_ADMIN_USER=$3 #Mysql管理员用户,通常为rootMYSQL_ADMIN_PWD=$4MYSQL_CMD="

2021-06-24 18:17:45 63

原创 Mysql常用命令大全

创建数据库,创建用户并授权#创建数据库db_test,设置字符集为utf8mb4create schema db_test default character set utf8mb4 collate utf8mb4_general_ci;#创建用户test,%表示可以从任意主机登录,设置登录密码为123456create user 'test'@'%' identified by '123456';#授权test用户对db_test库拥有所有权限grant ALL on db_test .*

2021-06-22 15:48:22 20

原创 通过curl命令远程触发Jenkins Job 构建

无参数构建curl -k -X POST https://${URL}/job/test/build --user username:token #test为Job名有参数构建#--data-urlencode先对数据进行URL编码,再发送给HTTP服务器;key1为Job参数;456是传给key1的值curl -k -X POST https://${URL}/job/test/buildWithParameters--user username:token --data-urlencode

2021-06-21 09:15:56 56

原创 安装Jenkins

文章目录Docker方式安装后设置向导`修改admin登录密码为123456`官方文档:https://www.jenkins.io/zh/doc/book/installing/#prerequisitesDocker方式docker run -d --name=jenkins -u root --restart=unless-stopped -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home jenkinsci/blue

2021-06-17 11:40:54 51

原创 Linux神兵利器—sed命令详解

文章目录一、概述二、sed基本指令`2.1.sed语法格式``2.2.命令选项``2.3.基本操作指令``2.4.sed支持的数据定位方法``2.5.示例`p指令直接使用行号匹配使用正则表达式匹配使用=指令显示行号使用感叹号(!)对匹配的条件取反a指令和i指令c指令d指令s指令,替换r指令,从文件中读取数据w指令,将匹配的数据写入到新文件中q指令,退出sed编写多条指令-f选项,读取指令文件三、sed高级指令`3.1.示例`g、h、x指令n指令y指令标签功能Branch无条件跳转test有条件跳转参考

2021-06-12 19:00:57 139

原创 xargs命令详解

概述xargs可以读取标准输入和管道中的数据,用于弥补有些命令(如echo、kill、rm)不能从管道中读取数据的不足。使用echo,输出结果为空,因为它不能从管道中读取数据不指定程序时xargs默认会将数据传递给echo,上面的命令等价于cut -d: -f1 /etc/passwd | xargs echo选项-0(数字零)xargs默认以空格、Tab制表符、回车符为分隔符和结束符,当有的文件本身包含空格时,就会出问题xargs会把’hello world.txt’识别为两个文件

2021-06-11 17:07:20 64

转载 Shell实现进度条效果

#!/bin/bash#功能描述(Description):为拷贝文件设计一个进度条效果.#防止提前执行Ctrl+C后无法结束进度条.trap 'kill $!' INT#定义变量,存储指针的四个符号.rotate='|/-\'#定义函数:实现动态指针进度条.bar() {#回车到下一行打印一个空格,第一次打印指针符号时会把这个空格删除.#这里的空格主要目的是换行. printf ' ' while : do#删除前一个字符后,仅打印rotate变量中的第一

2021-06-11 16:34:11 58 1

原创 printf命令详解

概述printf命令可以实现格式化输出示例printf支持%进行格式控制,%s代表输出字符,实际数据有多少就输出多少%10s指定输出宽度为10[root@localhost ~]# printf '%10s' devops #指定宽度10,宽度不够在左边补空格 devops[root@localhost ~]# printf '%3s' devops #实际数据宽度大于3,正常显示devops[root@localhost ~]# printf '%.3s' devops #仅显示实际

2021-06-11 16:29:23 16

原创 curl上传本地文件到网站上

之前用Groovy搞了半天没搞定,谁知用curl一条命令就解决,Linux命令太强大了curl -v -F tiFile=@/tmp/test.tar https://IP/API接口 -i --insecure -H "X-Auth-Token: 实际token值" -H "Descrip:test"/tmp/test.tar代表要上传文件的绝对路径采用的是token认证方式-H后面接请求头部信息,多个头部信息用-H隔开指定...

2021-06-06 22:23:51 47

原创 docker容器网络

网络命名空间为了支持网络协议栈的多个实例,Linux在网络栈中引入了网络命名空间。处于不同命名空间中的网络栈是完全隔离的,彼此之间无法通信,就好像两个“平行宇宙”通过对网络资源的隔离,就能在一个宿主机上虚拟多个不同的网络环境网络命名空间的操作ip netns add ns1 #创建命名空间ns1ip netns list #列出命名空间ip netns exec ns1 ifconfig #在命名空间中执行命名,此时没有任何网络设备ip netns exec ns

2021-06-03 11:25:06 18

原创 groovy处理yaml文件

host.yamlDB: type: mysql hostIP: 192.168.1.2脚本#!groovy//读取yaml文件,转换为一个对象def datas = readYaml file: '/etc/ansible/host.yaml'println datasprintln "数据库IP是${datas.DB.hostIP}" //读取yaml文件中的值//修改yaml文件的值,不能直接写到原有的文件,需删除旧文件sh "rm -rf /etc/ansi

2021-05-30 22:49:55 100

原创 Shell脚本安装Docker(二进制版)

#!/bin/bash# vim:sw=4:ts=4:et<<INFOAUTHOR:运维@小兵<邮箱号>DATE:2021-01-26DESCRIBE:1、二进制方式安装/卸载Docker,可以指定数据盘作为Docker的存储盘 2、如果本地没有Docker二进制包会去官网下载,需确保网络可用SYSTEM:CentOS7/RedHat7WARNING:MODIFY:INFOset -eWORKDIR=$(cd `dirname $0`;pwd)LOG_

2021-05-30 09:37:31 68 4

原创 Linux 源码安装postgresql

文章目录一、下载源码包二、安装依赖包三、创建用户四、编译安装五、定义环境变量并初始化数据库`1.定义环境变量``2.初始化数据库`六、启动postgresql七、登陆postgresql八、配置开机自启动参考文章:https://www.cnblogs.com/tigergaonotes/p/11083322.html一、下载源码包官网:https://www.postgresql.org/二、安装依赖包yum -y gcc gcc-c++ cmake readline-devel perl z

2021-05-29 21:36:21 59 1

原创 Python之多进程编程

一个简单的例子代码#!/usr/bin/python# -*- coding:utf-8 -*-import osprint('Starting...')os.fork()print('Hello World!')执行结果可以看到打印了两次“Hello World!”,另一个是fork出来的子进程打印的fork流程图os.fork的返回值是数字,这个数字在父进程中是非零值(子进程的PID),子进程中是0。修改代码,打印os.fork的返回值输出结果在父进程中,os.

2021-05-25 15:26:42 14

原创 k8s指定私有镜像仓库

一、docker login 镜像仓库地址(如192.168.1.200:5000)登陆成功会生成~/.docker/config.json这个文件,里面会记录登陆镜像仓库的认证信息二、将config.json转换成base64编码 cat ~/.docker/config.json|base64 -w 0三、编写registrykey-myhub.yml配置文件apiVersion: v1kind: Secretmetadata: name: registrykey-myhub na

2021-05-24 19:03:24 244

原创 Linux shopt命令详解

文章目录一、常用属性及功能二、示例`2.1.开启自动纠错``2.2.checkhash`参考书籍:《Linux Shell核心编程指南》——丁明一一、常用属性及功能使用shopt命令可以查看支持的属性及是否开启的标志shop -s开启属性shopt -u关闭属性二、示例2.1.开启自动纠错[root@localhost shell]# cd /ect #拼写错误,命令无法执行-bash: cd: /ect: 没有那个文件或目录[root@localhost shell]# sh

2021-05-23 22:27:11 113

原创 Shell生成随机数

文章目录一、使用命令生成二、使用设备文件生成三、通过Hash值生成随机数据四、使用进程号生成随机数参考书籍:《Linux Shell核心编程指南》——丁明一一、使用命令生成[root@localhost ~]# uuidgen #生成16进制随机字符串0a7beba9-cb04-4ca0-b303-7a3094e180b7[root@localhost ~]# date +%s #1970-1-1到当前的秒数1621759272[root@localhost ~]# openssl ra

2021-05-23 16:48:01 50

原创 Python基于WSGI实现一个简单的WEB网页

代码from wsgiref.simple_server import make_serverdef simple_app(environ, start_response): status = '200 OK' headers = [('Content-type', 'text/plain; charset=utf-8')] start_response(status, headers) html = '<h1>Hello World</h1>'

2021-05-23 14:54:56 117

原创 shell脚本批量修改远程主机密码

#!/bin/bash<<INFOSCRIPYT:modify_pwd.shAUTHOR:运维@小兵DATE:2020-11-14DESCRIBE:批量修改远程主机root密码SYSTEM:CentOS7/RedHat7WARNING:1.密码中不能有"$"符号 2.执行脚本的机器与远程主机网络通 3.远程主机原始密码需一致MODIFY:INFO######################定义变量######################USERNAME="r

2021-05-23 14:52:37 28

原创 Shell八大扩展详解

一、花括号{}注意:花括号不可以被引号引用echo {a..h}echo {1..9}echo {1..9..2} #1到9,步长为2mkdir -p test/{aa,bb}cp /etc/hosts{,.bak} #利用扩展,备份文件mv /etc/hosts.bak{,hosts_bak} #重命名二、波浪号~波浪号在Shell脚本中默认代表当前用户的家目录echo ~ #显示当前用户的家目录ls ~devops #查看devops用户的家目录~+表示当前

2021-05-18 22:56:30 95

原创 git常用命令

常用配置git config --global user.name "root"git config --global user.email "root@163.com"git config credential.helper store #保存待会输入的用户名和密码,避免每次都要输入git config --global http.sslVerify false #跳过SSL验证git credential-manager uninstall #解决Windows提交代码弹出登录g

2021-05-18 21:02:28 46

原创 脚本式pipeline指定在执行机上运行

#!groovytimestamps{ try{ node(agent_1){ println "xxxx" }//node() node(agent_2){ println "yyyy" }//node() }//try catch(Exception err) { throw new Exception("*******Caught an exception: ${err}") }}agent_1和agent_2为执

2021-05-16 20:16:29 48

原创 groovy提取时间戳

def time=new Date().format('yyyyMMddHHmmss')println time

2021-05-15 14:18:10 228

原创 shell字符串处理,解决传入参数有空格的问题

一、以下划线作为分隔符,把元素存入数组,并遍历数组脚本内容#!/bin/basharr=a_b_carray=(${arr//_/ }) #把'_'替换为空,并从此处分隔for((i=0;i<${#array[@]};i++))do echo ${array[i]}done输出结果二、当待处理的字符串中出现空格时会出问题修改arr的值arr="name1,image:tag,docker run --name t1 image_name2,image:tag,do

2021-05-14 22:22:42 190

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 && 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的粉丝

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