自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Shell case流程控制

Shell case流程控制case语句介绍case … esac 为多选择语句,与其他语言中的 switch … case 语句类似,是一种多分枝选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case … esac 语句,esac(就是 case 反过来)作为结束标记。可以用 case 语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。在某些时候,case要优于if,少写很多判断语法case 变量 in ) coma

2021-09-14 21:05:59 139

原创 shell循环

shell循环为什么使用循环1.减少代码量2.有些时候,只能用循环,不规律的情况下3.读取文件内容4.死循环循环的分类当型循环 while直到型循环 do until通用循环 forwhile 循环语法while 条件;do chmd1donewhile 条件do cmd1 cmd2done## 死循环while true;do echo '123'donewhile [ 1 -eq 1 ];do echo 456 sleep 3do

2021-09-14 21:05:26 176

原创 Shell 函数

Shell 函数什么是函数函数就是具备某一功能的工具为什么要使用函数如果不使用函数,那么你的代码: 1.程序的组织结构不清晰,可读性差 2.代码冗余 3.可扩展性(功能需要修改的时 候…对不起GG)如何使用函数函数的使用必须遵循的原则:先定义,后调用 修理工事先准备好工具的过程,即,定义函数 修理工遇到应用场景哪 来工具就用即函数的调用函数的语法# 1.函数定义语法function 函数名() { cmd1 cmd2}# 2.函数定义语法(推荐)函数名() { cmd1

2021-09-14 21:04:44 108

原创 脚本常用监控命令

脚本常用监控命令书写脚本常用监控命令监控目标 命令本地端口监控 netstat -lntup ss -lntup lsof 远端端口监控 telnet nc nmap 进程监控 ps -ef ps aux web监控 curl

2021-09-14 21:04:06 453

原创 Shell-if判断

shell的if判断if判断语法(单分支)## 1.语法一:if [ 条件 ];then cmd1 cmd2fi## 2.语法二:if [ 条件 ]then cmd1 cmd2fiif判断语法(多分支)#1.多分支语法if [ 条件 ];then cmd1 cmd2elif [ 条件2 ];then cmd1 cmd2elif [ 条件3 ];then cmd1 cmd2else cmd3 cmd4fi#2.if嵌套i

2021-09-14 21:03:25 110

原创 Shell条件表达式

Shell条件表达式条件表达式介绍条件表达式,我们非常的常用,可以说,任何编程语言,都离不开条件表达式,但是每种变成语言的写法都不太一样,在shell中,有一种独特的写法。条件测试语句条件测试语句,我们又叫做test语句。test: 条件测试[]: 条件测试(语法:中括号两边一定要有空格)例:[ -f /etc/passwd ] 错误写法: [-f /etc/passwd][[]]: 支持正则(语法:中括号两边一定要有空格)文件判断-f: file 判断普通文件是否存在,如果存在则为真,

2021-09-08 21:40:29 309

原创 shell运算符

shell运算符基础符号+:加-:减*:乘/:除%:取余++:自增–:自减**:幂运算取余数用法 echo $((RANDOM%20))自增用法for((i=1;i<=10;i++));do echo zlsdone逻辑符号# 基础逻辑符号&&:且,前面的命令执行成功后,再执行后面的命令,前面的不成功,则后面的也不执行||:或,前面的命令执行不成功,才能执行后面的命令,前面的成功,则后面的不执行!:非,取反符号作用

2021-09-07 21:52:49 125

原创 Shell变量

Shell变量变量介绍什么是变量变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。量:是记录现实世界当中的某种状态变:指的是记录的状态是可以发生变化的为什么要使用变量变量名=变量值变量名:相当于一个门牌号,便于取出变量值,是访问到值的唯一方式=:赋值符号变量值:用来表示状态定义变量名规范大前提::变量名的命名应该能够反映出值记录的状态。变量是用来访问变量值的,所以变量名应该遵循一定规范,来方便我们标识存到内存中值的功能。# shell定义变量1.不能以数字开头

2021-09-06 21:22:49 94

原创 Shell编程-入门

Shell编程-入门为什么要使用shell1.安装操作系统(CentOS)自动化安装操作系统(kickstart cobbler)底层shell2.初始化/优化操作系统1)ntp时间同步2)更改默认yum源3)ssh优化4)关闭Selinux5)关闭/开启 防火墙(C6:iptables C7:firewalld)6)安装基础服务(wget vim lrzsz net-tools unzip gzip…)7)优化文件描述符8)优化字符集9)…3.安装服务1)Nginx2)PHP

2021-09-06 21:21:58 70

原创 Firewalld防火墙

Firewalld防火墙实战firewalld概述在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系统的人员直接学习

2021-08-22 19:15:25 116

原创 Ansible Vault加密

Ansible Vault概述Ansible Vault做为Ansible的一项新功能,可将例如:password,keys等敏感数据文件进行加密处理,而非存放在明文的playbook中或roles中。Ansible Vault使用usage: ansible-vault [-h] [--version] [-v]{create,decrypt,edit,view,encrypt,encrypt_string,rekey}## 加密ansible-vault encrypt mysql.yml

2021-08-19 20:25:11 4246

原创 Ansiblre Roles

Ansiblre RolesAnsible Roles基本概述roles不管是Ansible还是saltstack,我在写一键部署的时候,都不可能把所有的步骤全部写入到一个’剧本’文件当中,我们肯定需要把不同的工作模块,拆分开来,解耦,那么说到解耦,我们就需要用到roles官方推荐,因为roles的目录结构层次更加清晰。 例如:我们之前推荐大家写一个base.yml里面写所有基础优化的项目,其实把所有东西摞进去也是很鸡肋的,不如我们把这些功能全部拆分开,谁需要使用,就调用即可。 建议:每个roles最好

2021-08-19 20:21:08 126

原创 Ansible Jinjia2 模板

Ansible Jinjia2 模板Jinjia2模板介绍什么是jinja2模板jinja2是Python的全功能模板引擎Jinja2与Ansible啥关系Ansible通常会使用jinja2模板来修改被管理主机的配置文件等…在saltstack中同样会使用到jinja2 如果在100台主机上安装nginx,每台nginx的端口都不一样,如何解决?Ansible如何使用Jinja2使用Ansible的jinja2模板也就是使用template模块,该模块和copy模块一样,都是讲文件复制到远端

2021-08-17 23:09:46 361

原创 Ansible流程控制

Ansible流程控制playbook条件语句不管是shell还是各大编程语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。例如: 1.我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。2.在nfs和rsync安装过程中,客户端服务器不需要推送配置文件,之前我们都是写多个play,会影响效率。3.我们在源码安装nginx的时候,执行第二遍就无法执行了,此时我们就可以进行判断是否安装过。官方写法- hosts: web_grou

2021-08-16 22:31:47 112

原创 Ansible变量

Ansible变量变量定义的方式命令行定义变量在play文件中定义变量在主机清单里定义变量变量的优先级命令行>playbook文件>inventory文件如何定义变量playbook中定义变量playbook变量可以通过多种方式进行定义,最简单的方式就是在playbook的开头通过vars进行定义。- hosts: web_group vars: - pkg: nginx - pkg2: tree tasks: - name: Create

2021-08-15 22:23:37 68

原创 Ansible-playbook

Ansible剧本playbookplaybook的组成play:角色,也就是主机清单中维护的主机名task:具体要执行的任务playbook: 由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作)。简单理解为: 使用不同的模块完成一件事情在Ansible中"剧本文件"是以yml结尾的文件。 在SaltStack中"剧本文件"是以sls结尾的文件。 但是语法,使用的都是yaml语法...

2021-08-12 23:32:27 461

原创 Ansible-hoc

Ansible的常用模块Ansible的执行ad-hocplaybookansible ad-hocad-hoc:临时的命令,执行后结束,不会保存ad-hoc使用场景比如在多台机器上查看某个进程是否启动,或拷贝指定文件到本地,等等ad-hoc的命令模式(语法)语法:ansible 主机名(主机清单中的主机或者主机组) -m 模块名 [-a 动作]ad-hoc返回结构的颜色绿色:被管理端执行成功,并且结果不会发送改变黄色:被管理端主机执行成功,但是结果时变化的红色:执行失

2021-08-10 20:41:41 212

原创 Ansible基础

自动化运维工具——Ansible基础Ansible介绍什么时ansibleAnsible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。同类型软件对比1.puppet 学习难,安装ruby环境难,没有远程执行功能2.ansible 轻量级,大规模环境下只通过ssh会很慢,串行的3.saltstack 一般选择salt会使用C/S结构的模式,salt-master和sal

2021-08-10 20:38:11 78

原创 Nginx常见问题

Nginx常见问题Nginx多server优先级

2021-08-09 21:01:21 87

原创 Nginx高可用-keepalived

Nginx高可用-keepalivedkeepalived:专门做高可用的软件keepalived什么是高可用一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。高可用软件keepalivedhearbeatRoseHAkeepalived协议VRRP:虚拟路由冗余协议我们的VRRP其实是通过软件或者硬件的形式在Master和Backup外面增加一个虚拟的MAC地址(VMAC)与虚拟IP地址(VIP),那么在这

2021-08-09 20:53:18 113

原创 Nginx HTTPS 实践

这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入+6# 欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可

2021-08-08 17:16:27 126

空空如也

空空如也

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

TA关注的人

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