运维
文章平均质量分 56
运维
杨林伟
像火箭科学家一样思考!
展开
-
git文件过大导致构建失败的解决方案(快速提升jenkins构建速度)
快速提升jenkins构建速度,git文件过大导致构建失败的解决方案原创 2023-06-27 22:00:00 · 788 阅读 · 0 评论 -
shell指定参数名传参
如果使用shell指定参数名称传参,是使用到了“getopts”命令。原创 2022-08-09 11:20:18 · 2625 阅读 · 0 评论 -
解决sed替换文本,里面含有“/“、“#”等特殊字符的问题
使用sed命令,里面含有"/",可以选择“#”或“ @”作为界定符;里面含有“#”,可以选择“@”或“/”作为界定符;里面含有“@”,可以选择“/”或“#”作为界定符。原创 2022-08-09 11:12:20 · 5906 阅读 · 0 评论 -
运维(29)- ELK部署
文章目录01 引言02 部署kafka2.1 下载2.2 配置2.3 启动03 部署ES3.1 添加es源3.2 安装es3.3 配置es3.4 启动es 4. 部署kibana 4.1 添加kibana源 4.2 安装kibana 4.3 配置kibana 4.4 启动kibana 5. 配置域名转发 5.1 haproxy配置 5.2 nginx配置01 引言注意: 需要保证elk套件版本统一,升级需要从es开始!02 部署kafka备注:假设在172.16.3.5机子上执行2.1 下载原创 2022-01-12 10:44:19 · 1900 阅读 · 0 评论 -
运维(28)-RabbitMQ安装
文章目录01 下载1.1 下载地址1.2 下载02 安装2.1 安装Erlang2.2 安装RabbitMQ03 配置01 下载1.1 下载地址rabbitmq: https://github.com/rabbitmq/rabbitmq-server/releaseserlang: https://www.erlang-solutions.com/downloads/1.2 下载① 创建临时安装目录:mkdir -p ~/tmp/install/rabbitmqmkdir -p ~/原创 2022-01-12 10:09:01 · 1075 阅读 · 0 评论 -
运维(27)-部署流量代理(Nginx+haproxy)
文章目录1. nginx 1.1 nginx安装 1.2 配置nginx 1.3 验证重启 1.4 配置默认路由 1.5 配置状态监听 1.6 配置域名、证书和业务路由 02 haproxy安装配置 2.1 安装haproxy 2.2 配置haproxy 2.3 验证haproxy1. nginx 1.1 nginx安装 step1:查询当前可用版本apt-cache madison nginx-fullstep2:安装nginxapt install -y nginx-full 1.2原创 2022-01-11 17:06:18 · 1464 阅读 · 0 评论 -
运维(26)-Docker Swarm
文章目录01 什么是Docker Swarm02 Docker Swarm基本结构图03 Swarm的几个关键概念3.1 Swarm3.2 Node3.3 Service3.4 Task3.5 使用方法3.5.1 子命令3.5.2 node 3.5.3 服务04 Swarm的工作模式4.1 Node4.2 Service4.3 任务与调度4.4 服务副本与全局服务05 Swarm的调度策略5.1 Random5.2 Spread5.3 Binpack 06 Swarm Cluster模式特性6.1 批量创建转载 2021-11-02 10:18:24 · 890 阅读 · 0 评论 -
运维(25)-腾讯云相关流程图
文章目录01 引言02 常规上云流程图03 TStack架构图01 引言目前很多工作的内容都要“上云”,本文主要拿腾讯云为例子,并通过流程图来讲解 “上云”的过程。02 常规上云流程图流程:注册域名 > 配置WAF > 配置负载均衡CLB > 配置流量网关Nginx > 部署应用到应用服务器 > 应用关联腾讯云相关中间件)平时的工作使用腾讯云的流程图如下:03 TStack架构图TStack云计算管理平台(简称云管平台) :是腾讯基于OpenStack开发原创 2021-10-19 16:24:45 · 1765 阅读 · 0 评论 -
运维(24)-运维技能知识图谱
文章目录01 引言02 运维划分03 运维技能图谱01 引言最近因工作需要,需要参与运维的工作,接下来需要做的就是快速补充运维的知识。首先,需要知道的是,何为运维?运维 本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。运维 是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,从最初的网络管理(网管)发展到现在的系统运维工程师、网络运维工程师、安全运维工程师、运维开发工程师等。那运维需要掌握什么的知识呢?本文原创 2021-10-19 10:19:14 · 3207 阅读 · 0 评论 -
运维(23)- shell自动化部署
pexpectPexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自...原创 2019-09-05 16:40:32 · 390 阅读 · 0 评论 -
运维(22)- shell开机自启动脚本
如果要添加为开机启动执行的脚本文件,可先将脚本复制或者软连接到/etc/init.d/目录下,然后用: update-rc.d xxx defaults NN命令(NN为启动顺序),将脚本添加到初始化执行的队列中去。注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。1、将你的启动脚本复制到 /etc/init.d目录下,以下假设你的脚本文件名为 test。2)、设置脚本...原创 2019-09-05 16:20:58 · 459 阅读 · 0 评论 -
运维(21)- shell Linux核心命令
strace、netstat、perf、top、pidstat、mpstat、dstat、vmstat、slabtop、free、top、tcpdump、ip、nicstat、dtrace、ping、dtrace、blktrace、iptop、iostat、stap文本处理类的命令:wcwc [option] [file]... -l: 统计行数 -c: 统计字节数 ...原创 2019-09-05 16:19:09 · 370 阅读 · 0 评论 -
运维(20)- shell awk
sed以行为单位处理文件,awk比sed强的地方在于不仅能以行为单位还能以列为单位处理文件。awk缺省的行分隔符是换行,缺省的列分隔符是连续的空格和Tab,但是行分隔符和列分隔符都可以自定义,比如/etc/passwd文件的每一行有若干个字段,字段之间以:分隔,就可以重新定义awk的列分隔符为:并以列为单位处理这个文件。awk实际上是一门很复杂的脚本语言,还有像C语言一样的分支和循环结构,但是基本...原创 2019-09-05 16:15:23 · 272 阅读 · 0 评论 -
运维(19)-shell sed
sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出。sed和vi都源于早期UNIX的ed工具,所以很多sed命令和vi的末行命令是相同的。sed命令行的基本格式为:sed option 'script' file1 file2 ...sed option...原创 2019-09-05 16:12:47 · 261 阅读 · 0 评论 -
运维(18)-shell find
由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。一、find 命令格式1、find命令的一般形式为;...原创 2019-09-05 16:03:59 · 342 阅读 · 0 评论 -
运维(17)-shell grep
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, f...原创 2019-09-05 15:53:01 · 339 阅读 · 0 评论 -
运维(16)-shell正则表达式
以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义。其实grep还可以找出符合某个模式(Pattern)的一类字符串。例如找出所有符合xxxxx@xxxx.xxx模式的字符串(也就是email地址),要求x字符可以是字母、数字、下划线、小数点或减号,email地址的每一部分可以有一个或多个x字符,例如abc.d@ef.com、1_2@987-6.54,当然符合这个模...原创 2019-09-05 15:50:02 · 365 阅读 · 0 评论 -
运维(15)-shell脚本的调试方法
Shell提供了一些用于调试脚本的选项,如下所示:-n读一遍脚本中的命令但不执行,用于检查脚本中的语法错误-v一边执行脚本,一边将执行过的脚本命令打印到标准错误输出-x提供跟踪执行信息,将执行的每一条命令和结果依次打印出来使用这些选项有三种方法,一是在命令行提供参数 $ sh -x ./script.sh二是在脚本开头提供参数 #! /bin/sh -x第三种方法是在脚...原创 2019-09-05 15:45:39 · 292 阅读 · 0 评论 -
运维(14)- shell函数
和C语言类似,Shell中也有函数的概念,但是函数定义中没有返回值也没有参数列表。例如: #! /bin/sh foo(){ echo "Function foo is called";} echo "-=start=-" foo echo "-=end=-"注意函数体的左花括号’{‘和后面的命令之间必须有空格或换行,如果将最后一条命令和右花括号’}'写在...原创 2019-09-05 15:44:24 · 327 阅读 · 0 评论 -
运维(13)- shell输入输出
echoecho显示文本行或变量,或者把字符串输入到文件。echo [option] string-e 解析转义字符-n 不回车换行。默认情况echo回显的内容后面跟一个回车换行。echo "hello\n\n"echo -e "hello\n\n"echo "hello"echo -n "hello"管道|可以通过管道把一个命令的输出传递给另一个命令做输入。管道用竖线表示...原创 2019-09-05 15:41:26 · 287 阅读 · 0 评论 -
运维(12)- shell位置参数和特殊变量
有很多特殊变量是被Shell自动赋值的,我们已经遇到了$?和$1,现在总结一下:常用的位置参数和特殊变量$0 相当于C语言main函数的argv[0]$1、$2... 这些称为位置参数(Positional Parameter),相当于C语言main函数的argv[1]、argv[2]...$# 相当于C语言main函数的argc - 1,注意这里的#后面不表示注释$@ 表示...原创 2019-09-05 15:39:27 · 262 阅读 · 0 评论 -
运维(11)- shell循环
for/do/doneShell脚本的for循环结构和C语言很不一样,它类似于某些编程语言的foreach循环。例如: #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" doneFRUIT是一个循环变量,第一次循环$FRUIT的取值是apple,第二次取值是banana,...原创 2019-09-05 15:37:43 · 314 阅读 · 0 评论 -
运维(10)- shell条件测试
命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反)。例如测试两个数的大小关系:itcast@ubuntu:~$ var=2itcast@ubuntu:~$ test $var -gt 1itcast@ubuntu:~$ echo $?0itcast@ubu...原创 2019-09-05 15:33:39 · 392 阅读 · 0 评论 -
运维(09)- shell单引号和双引号
单引号和C语言不一样,Shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。如果引号没有配对就输入回车,Shell会给出续行提示符,要求用户把引号配上对。例如:itcast$ echo '$SHELL'$SHELLitcast$ echo 'ABC\(回车)> DE...原创 2019-09-05 15:27:00 · 495 阅读 · 0 评论 -
运维(08)- shell转义字符
和C语言类似,\在Shell中被用作转义字符,用于去除紧跟其后的单个字符的特殊意义(回车除外),换句话说,紧跟其后的字符取字面值。例如:itcast$ echo $SHELL/bin/bashitcast$ echo \$SHELL$SHELLitcast$ echo \\\比如创建一个文件名为“$ $”的文件可以这样:itcast$ touch \$\ \$还有一个字符虽然...原创 2019-09-05 15:25:04 · 521 阅读 · 0 评论 -
运维(07)- shell算术代换
用于算术计算,$(())中的Shell变量取值将转换成整数,同样含义的$[]等价例如:itcast$ VAR=45itcast$ echo $(($VAR+3))$(())中只能用+-*/和()运算符,并且只能做整数运算。$[base#n],其中base表示进制,n按照base进制解释,后面再有运算数,按十进制解释。echo $[2#10+11]echo $[8#10+11]ec...原创 2019-09-05 15:22:32 · 378 阅读 · 0 评论 -
运维(06)- shell命令代换
由 ` 反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立刻代换到当前命令行中。例如定义一个变量存放date命令的输出:itcast$ DATE=`date`itcast$ echo $DATE命令代换也可以用$()表示:itcast$ DATE=$(date)...原创 2019-09-05 15:21:34 · 299 阅读 · 0 评论 -
运维(05)- shell文件名代换(Globbing)
这些用于匹配的字符称为通配符(Wildcard),具体如下:通配符* 匹配0个或多个任意字符? 匹配一个任意字符[若干字符] 匹配方括号中任意一个字符的一次出现$ ls /dev/ttyS*$ ls ch0?.doc$ ls ch0[0-2].doc$ ls ch[012] [0-9].doc注意,Globbing所匹配的文件名是由Shell展开的,也就是说在...原创 2019-09-05 15:19:47 · 442 阅读 · 0 评论 -
运维(04)- shell变量
按照惯例,Shell变量由全大写字母加下划线组成,有两种类型的Shell变量:1.环境变量环境变量可以从父进程传给子进程,因此Shell进程的环境变量可以从当前Shell进程传给fork出来的子进程。用printenv命令可以显示当前Shell进程的环境变量。2.本地变量只存在于当前Shell进程,用set命令可以显示当前Shell进程中定义的所有变量(包括本地变量和环境变量)和函数。环...原创 2019-09-05 15:18:24 · 377 阅读 · 0 评论 -
运维(03)- shell执行脚本
编写一个简单的脚本test.sh:#! /bin/shcd ..lsShell脚本中用#表示注释,相当于C语言的//注释。但如果#位于第一行开头,并且是#!(称为Shebang)则例外,它表示该脚本使用后面指定的解释器/bin/sh解释执行。如果把这个脚本文件加上可执行权限然后执行:chmod a+x test.sh./test.shShell会fork一个子进程并调用exec执...原创 2019-09-05 15:14:13 · 329 阅读 · 0 评论 -
运维(02)- shell历史
Shell 的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需...原创 2019-09-05 10:06:24 · 329 阅读 · 1 评论 -
运维(01)- 运维概念
术语名词IDC–(Internet Data Center)互联网数据中心,主要服务包括整机租用、服务器托管、机柜租用、机房租用、专线接入和网络管理服务等。广义上的IDC业务,实际上就是数据中心所提供的一切服务。客户租用数据中心的服务器和带宽,并利用数据中心的技术力量,来实现自己对软、硬件的要求,搭建自己的互联网平台,享用数据中心所提供的一系列服务。ISP–(Internet Ser...原创 2019-09-05 09:55:21 · 650 阅读 · 0 评论