
自动化运维
云计算时代到来了
运维走向自动化
Wan@Technology Stack
非常感谢这个平台,作为IT爱好者,本人不定期发送IT技术、学习总结、心得、学习经验和体会!!
展开
-
Shell 面试题 -- 通过排列组合 1--4 生成三位数
[root@wan day5]# cat ex11.sh #!/bin/bash#########################################File Name: ex11.sh#Version: V1.0#Author: WanQiang#Email: 2794411809@qq.com#Oranization: https://me.youkuaiyun.com/XY0918ZWQ#Cleated Time: 2021-04-24 23:51:14#Description:原创 2021-04-25 00:05:38 · 466 阅读 · 0 评论 -
Shell 面试题 -- 打印用户自定义乘法表
[root@wan day5]# vim lx2.sh#!/bin/bash#########################################File Name: lx2.sh#Version: V1.0#Author: WanQiang#Email: 2794411809@qq.com#Oranization: https://me.youkuaiyun.com/XY0918ZWQ#Cleated Time: 2021-04-24 23:30:26#Description: ###原创 2021-04-25 00:04:07 · 164 阅读 · 0 评论 -
Shell 面试题 -- 位置参数 + 循环 批量拷贝文件
[root@wan day5]# vim lx1.sh#!/bin/bash#########################################File Name: lx1.sh#Version: V1.0#Author: WanQiang#Email: 2794411809@qq.com#Oranization: https://me.youkuaiyun.com/XY0918ZWQ#Cleated Time: 2021-04-24 23:02:36#Description: ###原创 2021-04-25 00:02:39 · 330 阅读 · 0 评论 -
SHELL 之 文本三剑客 -- awk
[root@wan day8]# awk '{print}' passwd-- hello world输出[root@wan day8]# awk 'BEGIN {print "hello world"}'-- 输出指定的列[root@wan day8]# awk -F: '{print $1,$2,$3}' passwd | head -3-- 换行输出内容[root@wan day8]# awk 'BEGIN {print "zhang\nwan\nqiang"}'-- 格式化输出原创 2021-04-17 14:18:55 · 298 阅读 · 0 评论 -
SHELL 之 文本三剑客 -- sed
-- 打印指定的行 [root@wan day7]# sed -n '3 p' passwd daemon:x:2:2:daemon:/sbin:/sbin/nologin |-- 打印第一行 [root@wan day7]# sed -n '1 p' passwd root:x:0:0:root:/root:/bin/bash|-- 打印最后一行 [root@wan day7]# sed -n '$ p' passwd wan:x:1000:1000::/home/wan:/b原创 2021-04-17 14:17:45 · 288 阅读 · 0 评论 -
SHELL 之 文本三剑客 -- grep
|-- grep |-- 过滤含有‘root’字符的行 [root@wan ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin |-- 忽略大小写,匹配含有‘root’字符的行 [root@wan ~]# grep -i root passwd root:x:0:0:root:/root:/bin/bash operat原创 2021-04-17 14:16:25 · 329 阅读 · 0 评论 -
Shell 脚本判断当前系统是否为管理员用户
Shell 脚本判断当前系统是否为管理员用户编写脚本[root@shell day2]# vim is_admin.sh#!/bin/bash#########################################File Name: is_admin.sh#Version: V1.0#Author: WanQiang#Email: 2794411809@qq.com#Oranization: https://me.youkuaiyun.com/XY0918ZWQ#Cleated Time原创 2021-04-02 15:17:24 · 1583 阅读 · 0 评论 -
数据库系统常用的数据模型
数据库系统常用的数据模型一、层次模型二、网状模型三、关系模型数据库的发展经历了初始阶段、萌芽阶段、初级阶段、中级阶段、高级阶段,这个过程也产生了多个不同的数据模型,接下来我们讲详细介绍数据库的模型数据库的发展史数据库的发展史初始阶段:人工管理:人力手工整理存储数据萌芽阶段萌芽阶段:文件系统:使用磁盘文件来存储数据初级阶段:第一代数据库:出现了网状模型、层次模型的数据库中级阶段:第二代数据库:关系型数据库和结构化查询语言高级阶段高级阶段:新一代数据库:“关系-对象"型数据库DBMS原创 2021-01-13 09:09:08 · 11290 阅读 · 0 评论 -
Ansible 实战案例--任务控制 之 选择控制
任务控制 之 选择控制前言一、when 条件判断一级目录一级目录一级目录一级目录一级目录前言when相当于shell脚本里的if 判断,when语句就是用来实现这个功能的,它是一个jinja2的语法,但是不需要双大括号很多任务只有在特定条件下才能执行, 这就是 when 语句发挥作用的地方。 比如我们只需要在数据库服务器上安装 MySQL 软件, 根据系统种类来确定是使用 apt 模块还是yum 模块进行软件包管理提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建原创 2020-10-17 20:12:04 · 784 阅读 · 0 评论 -
Ansible 实战案例--任务控制 之 循环
任务控制 之 循环前言一、简单循环二、使用散列或字典列表循环二级目录三级目录前言通过利用循环,管理员无需编写多个使用同一模块的任务。例如,他们不必编写五个任务来确保存在五个用户,而是只需编写一个任务来对含有五个用户的列表迭代,从而确保他们都存在Ansible 支持使用 loop 关键字对一组项目迭代任务。我们可以配置循环以利用列表中的各个项目、列表中的各个文件的内容、生成的数字序列或更为复杂任务提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建具体环境搭建,请参原创 2020-10-15 17:55:19 · 384 阅读 · 0 评论 -
Ansible 实战案例--lookup访问外部数据或数据库中的数据
前言Ansible Playbook 允许用户使用自定义的变量,不过变量过大,或者太复杂时,无论是在Playbook中通过vars定义,还是在单独的变量文件中定义,可读性都比较差,而且不够灵活。但是lookup就能够解决这类难题,lookup即能够读取节点上文件系统的文件内容到ansible变量,也可以读取数据库中的内容提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建具体环境搭建,请参考:ansible-2.8.0 搭建链接lookup访问外部数据或数据库中原创 2020-10-15 17:54:36 · 450 阅读 · 0 评论 -
Ansible 实战案例--管理机密文件 之 实践应用
管理机密文件 之 实践应用一、创建密码文件二、编写剧本三、更改密码文件locker.yml的保护密码四、登录测试一、创建密码文件保险库的名称是/ansible/locker.yml保险库包含以下一个变量: pwd的值是Imadev加密和解密的密码是:whenyouwishuponastar密码存储在/ansible/secret.txt文件中参考答案:[root@ansible-server ansible]# echo whenyouwishuponastar > /a原创 2020-10-05 20:58:39 · 323 阅读 · 0 评论 -
Ansible 实战案例--Ansible-vault 管理机密
Ansible-vault管理机密前言一、获取Ansible-vault 命令帮助二、创建加密文件三、解密密码文件四、加密密码文件五、查看密码文件六、编辑密码文件七、更爱密码文件前言管理加密/解密yml(palybook)文件工具有时编写的playbook文件中会存在重要信息,考虑到安全,可以使用此工具进行加密提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建具体环境搭建,请参考:ansible-2.8.0 搭建链接一、获取Ansible-vault 命令帮原创 2020-10-05 17:22:04 · 657 阅读 · 0 评论 -
Ansible 实战案例--Playbook 变量管理 之 安装 Apache
Playbook 变量管理 之 安装 Apache前言案例步骤一、案例要求二、准备工作三、编辑 Playbook四、检查 Playbook 语法五、执行Playbook测试http服务前言通过在Playbook 中定义变量,使用变量去创建和完成任务,从而实现 http 服务的部署,达到 web 服务的正常运行,并对外提供服务提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建具体环境搭建,请参考:ansible-2.8.0 搭建链接案例步骤一、案例要求要原创 2020-10-04 21:32:09 · 344 阅读 · 0 评论 -
Ansible 实战案例--Playbook 详解 之 变量与引用
Playbook 详解 之 变量与引用前言一、通过 Inventory 文件定义主机以及主机组变量二级目录三级目录前言playbook 是 Ansible 进行配置管理的组件, 虽然 Ansible 的日常 Ad-Hoc 命令功能很强大, 能完成一些基本配置管理工作, 但是 Ad-Hoc 命令无法支撑复杂环境的配置管理工作。 在我们实际使用 Ansible的工作中, 大部分时间都是在编写 playbook 。提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建原创 2020-10-04 16:00:33 · 466 阅读 · 0 评论 -
Ansible 实战案例--Playbook 详解 之 Playbook 的构成
Playbook 详解前言一、Playbook 结构介绍二、Playbook 案例实施流程三、Playbook 实战案例示例1:写一个剧本: 在webservers主机组中安装httpd服务,并且配置防火墙等等操作示例2:使用ansible安装并配置nfs服务前言playbook 是 Ansible 进行配置管理的组件, 虽然 Ansible 的日常 Ad-Hoc 命令功能很强大, 能完成一些基本配置管理工作, 但是 Ad-Hoc 命令无法支撑复杂环境的配置管理工作。 在我们实际使用 Ansible原创 2020-09-30 22:31:48 · 984 阅读 · 0 评论 -
Ansible 实战案例--Ansible Ad-Hoc 组件详解
Ansible 组件详解前言一、命令执行1、shell2、command3、remove二、包管理1、yum_repository2、yum三级标题四级标题五级标题六级标题总结前言在 Ansible 中有 8 个主要的 Ansible 管理工具, 每个管理工具都是一系列的模块 、 参数支持。 随时可获取的帮助信息对了解掌握 Ansible 系统非常重要。 对于Ansible 每个工具, 都可以简单地在命令后面加上 -h 或-help 直接获取帮助。提示:本篇文章所使用的环境为centos-8.2基原创 2020-09-29 14:16:38 · 510 阅读 · 0 评论 -
Ansible 实战案例--ansible 2.8.0 环境部署
ansible 环境部署ansible 安装编辑ansible配置文件测试连通性总结ansible环境准备角色IPansible-server192.168.5.3node01192.168.5.4node02192.168.5.5node03192.168.5.6node04192.168.5.7配置主机hosts问文件注 :批量操作所有主机[root@ansible-server ~]# vim /etc/hosts +192.原创 2020-09-24 16:35:22 · 596 阅读 · 0 评论 -
Shell 编程实战--脚本监控系统内存,实现邮件报警
脚本监控系统内存,实现邮件报警编写脚本[root@wan day04]# vim free_men.sh #!/bin/bash#########################################File Name: free_ram.sh#Version: V1.0#Author: WanQiang#Email: 2794411809@qq.com#Oranization: https://me.youkuaiyun.com/XY0918ZWQ#Cleated Time: 202原创 2020-09-18 19:46:03 · 545 阅读 · 0 评论 -
Shell特殊扩展 之 应用案例一
shell特殊扩展应用案例一常用通配符语法:1、*:匹配任意长度的任意字符,就是说“什么都可以”。/etc/fs* #/etc中以fs开头的文件将被匹配/tmp/my*1 #/tmp中以my开头并且以1结尾的文件将被匹配2、?:与任何单个字符匹配。myfile? #文件名为myfile且后面跟任一单个字符的任何文件将被匹配/tmp/notes?txt #如果/tmp/notes.txt和/tmp/notes_txt都存在的话他们都会被匹配3、[ ]:与?相似,可以匹配一个括号内的字符,也原创 2020-09-16 21:44:41 · 201 阅读 · 0 评论 -
Shell 编程实战--全局变量、局部变量
shell 编程实战–全局变量、局部变量全局变量全局变量可以在脚本中定义,也可以在某个函数中定义。在脚本中定义的变量都是全局变量,其作用域为从被定义的地方开始,一直到Shell脚本结束或者被显式地删除如下,演示全局变量的使用方法[root@wan day02]# vim var3.sh #!/bin/bash#定义函数func(){#输出变量x的值echo "$v1"#修改变量x的值v1=200}#在脚本中定义变量xv1=100#调用函数func#输出变量x的值原创 2020-09-16 20:11:21 · 1189 阅读 · 0 评论 -
Ansible 实战案例--配置主机清单
Ansible 实战案例--配置主机清单静态Inventory动态Inventory静态Inventory在大规模的配置管理工作中我们需要管理不同业务的不同机器, 这些机器的信息都存放在 Ansible 的Inventory 组件里面。 在我们工作中配置部署针对的主机必须先存放在 Inventory 里面, 这样才能使用Ansible 对它进行操作。 默认 Ansible 的 Inventory是一个静态的 INI 格式的文件 /etc/ansible/hosts,当然, 还可以通过 ANSIBL原创 2020-09-16 00:21:00 · 463 阅读 · 0 评论 -
Ansible 实战案例--构建 Ansible 环境
Ansble–环境的部署这里写目录标题Ansble--环境的部署一、 构建ansible学习环境。二、 管理机器安装ansible2.8三、配置ansible:一、 构建ansible学习环境。安装ansible软件[root@Ansible-Server ~]# dnf install ansible-2.8.0-1.el8ae.noarch.rpm sshpass-1.06-3.el8ae.x86_64.rpm -y查看安装版本[root@Ansible-Server ~]#原创 2020-09-15 20:31:09 · 676 阅读 · 0 评论 -
Ansible 入门介绍
Ansible 入门介绍Ansible 软件及公司Ansible 优缺点Ansible 应用领域Ansible 架构模式Ansible 管理方式Ansible 系统架构Ansible 工作原理Ansible 特性Ansible 软件及公司ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。Ans原创 2020-09-14 18:43:43 · 234 阅读 · 0 评论 -
运维脚本开发注意事项
脚本开发注意事项一、 Linux系统命令执行顺序(优先级)1、 第一顺位执行用绝对路径或相对路径执行的命令。2、 第二顺位执行别名。3、 第三顺位执行 Bash 的内部命令。4 第四顺位执行按照$PATH 环境变量定义的目录查找顺序找到的第一个命令。为了让这个别名永久生效,可以把别名写入环境变量配置文件“~/.bashrc"。二、开发脚本时:复制文件,不知道目的文件是否存在,需要执行覆盖操作使用命令的绝对路径/usr/bin/cp source destination使用原创 2020-09-12 20:33:38 · 178 阅读 · 0 评论 -
Linux 之 history命令用法
history 命令的用法# history //查看历史命令# history -w a.txt //将缓存中的历史命令保存到指定文件# history -c //清除历史命令输入history 命令查询 执行该命令的时间、用户名、以及IP地址# vim /etc/profile 编辑配置文件#添加两行USER_IP=`who -u -m | awk '{pr原创 2020-09-12 19:10:49 · 441 阅读 · 0 评论 -
Linux 之 echo命令用法
echo 命令的用法将输入接到标准输出(从键盘输入,从显示器输出)[root@wan ~]# echo hello wordhello word //直接输出字符串(默认换行)[root@wan ~]# echo -n user: $USERuser: root[root@wan ~]# //输出字符串并不换行[root@wan ~]# echo -e "name:\twan" //启用反写线转义输出带原创 2020-09-11 22:49:50 · 525 阅读 · 0 评论 -
Shell 编程基础
一、Shell入门基础1.Shell 脚本的执行 (1)以相对路径的方式:[root@wan day1]#vim + haha.sh[root@wan day1]#chmod +x haha.sh[root@wan day1]#./haha.sh (2)以绝对路径的方式执行:[root@wan ~]# /shell/day1/haha.sh注:以上两种方法执行时,该脚本必须拥有可执行的权限,否则会出现报错 (3)指定解释器执行脚本[root@wan ~]# sh /shel原创 2020-09-11 22:45:41 · 367 阅读 · 0 评论