概述
自动化与运维可以做什么
消除无效率 - 运维工作的手动工作,如果可以实现自动化,将显著提升效率水平。
减少错误 - 即使最谨慎的人,也会犯错,尤其是面对着重复性工作。通过运维自动化工具来完成这样的工作,结果是显而易见的,错误率将大大降低。
最大化员工使用 - 通过运维自动化,运维专家们的经历可以集中在更复杂、更有战略意义的业务问题上。同时也降低了雇佣更多员工来应对工作量增加的需求。同样一批人,有自动化运维,就有更大的能量来创造价值。
提高满意度水平 - 自动化运维工具帮助IT运维,为内部和外部客户提供高水平支持。无论是通过提供自助服务选项,还是大幅缩短时间(最多达90%)来减少联系和等待服务台的需求,自动化运维让我们可以更好得拥抱SLA。
降低成本 - 系统中断、人为错误、重复工作,会导致不菲的费用和代价,而自动化运维几乎可以将这些成本完全消除。
为了获得最佳的结果,运维应该将自动化最为其“最佳实践”的一部分,尽可能多的实施自动化流程。除了成本和费用上的减少,无数例子证明,其业务敏捷性和整体服务提供也将呈指数级增长。
以上部分来自https://blog.csdn.net/zyqduron/article/details/77744793
运维人员眼中的运维
自动化运维的好处是如此之明显,而自动化运维的实现基础便是shell
一、shell简介
1、什么是shell
shell的定义: 在计算机科学中,Shell就是一个命令解释器。
shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。
总结:一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具
2、shell的分类
基本上shell分两大类:图形界面shell和命令行shell
图形界面shell:图形界面shell就是我们常说的桌面
命令行式shell:
- windows系统: cmd.exe 命令提示字符
- linux系统: sh / csh / ksh / bash / …
我们常说的shell是命令行式的shell,在工作中常用的是linux系统下的bash
3、查看系统的shell信息
- 查看当前系统的shell类型
python@ubuntu:~$ echo $SHELL
/bin/bash
- 查看当前系统环境支持的shell
python@ubuntu:~$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
4、shell脚本介绍
shell使用方式
- 手工方式:手工敲击键盘,在shell的命令行输入命令,按Enter后,执行通过键盘输入的命令,然后shell返回并显示命令执行的结果, 逐行输入命令、逐行进行确认执行
- 脚本方式: 就是说我们把手工执行的命令a,写到一个脚本文件b中,然后通过执行脚本b,达到执行命令a的效果.
- shell脚本定义: 当可执行的Linux命令或语句不在命令行状态下执行,而是通过一个文件执行时,我们将这个文件为shell脚本。
5、shell脚本示例
创建临时shell脚本文件 hello.sh
python@ubuntu:~/Desktop$ gedit hello.sh
在文件中写入
#!/bin/bash
echo "hello world"
输出结果:成功得在终端中输出hello world
python@ubuntu:~/Desktop$ ./hello.sh
hello world
二、shell基础知识
1 shell脚本
1.1 创建脚本
脚本创建工具:
- 创建脚本的常见编辑器是 vi/vim
脚本命名:
- shell脚本的命名简单来说就是要有意义,方便我们通过脚本名,来知道这个文件是干什么用的
脚本内容:
- 各种可以执行的命令
注释内容:
- 单行注释:
除了首行的#不是注释外,其他所有行内容,只要首个字符是#,那么就表示该行是注释
#!/bin/bash
echo '1'
# echo '2' # 这一行就表示注释
echo '3'
- 多行注释
多行注释有两种方法::<<字符 ... 字符
解释一下,首先":“在shell中的意思"什么都不做”,而>>符号代表重定向,用字符作为边界,合起来就是表示"这个边界内的内容什么都不做",作为边界的字符可以说字母和特殊字符,但是通常为了不和注释中的内容混淆,都以特殊字符作为边界
#!/bin/bash
echo '1'
:<<! echo '2'
echo '3'
echo '4'
!
echo '5'
1.2 脚本执行
Shell脚本的执行通常可以采用以下几种方式
# 1、使用bash执行
bash /path/to/script-name 或
/bin/bash /path/to/script-name (强烈推荐使用) 或
# 2、脚本文件具有可执行权限的自己执行
/path/to/script-name 或
./script-name (当前路径下执行脚本)
# 3、使用source或者.点号,加载shell脚本文件内容,使shell脚本内容环境和当前用户环境一致
source script-name 或
. script-name (注意“.“点号后面有空格)
注意:source或者.点号与其他执行方式的比较
1、source或者.点号执行方式不会开启子进程
test.sh 脚本内容如下:
#!/bin/bash
ps
终端执行命令如下:
python@ubuntu:~/Desktop$ ps # 返回当前终端运行的进程
PID TTY TIME CMD
34863 pts/1 00:00:00 bash # 当前终端开启的bash进程
34891 pts/1 00:00:00 ps
python@ubuntu:~/Desktop$ bash test.sh # 第一种方法
PID TTY TIME CMD
34863 pts/1 00:00:00 bash # 当前终端开启的bash进程
34894 pts/1 00:00:00 bash # 执行bash test.sh命令时开启了一个子进程
34895 pts/1 00:00:00 ps
python@ubuntu:~/Desktop$ source test.sh # 第三种方法
PID TTY TIME CMD
34863 pts/1 00:00:00 bash # 只有当前终端开启的bash进程,执行
34900 pts/1 00:00:00 ps
2、source或者.点号执行方式能共享当前终端定义的变量
test.sh 脚本内容如下:
#!/bin/bash
echo $user
终端执行命令如下:
python@ubuntu:~/Desktop$ user=python # 当前终端定义变量
python@ubuntu:~/Desktop$ echo $user # 打印变量
python
python@ubuntu:~/Desktop$ bash test.sh # 使用bash方式会开子进程,不能使用当前终端定义的变量
python@ubuntu:~/Desktop$ source test.sh # 使用source方式不会开子进程,能使用当前终端定义的变量
python
1.3 脚本开发规范
(1)脚本命名要有意义,文件后缀是.sh
(2)脚本文件首行是而且必须是脚本解释器
#!/bin/bash
(3)脚本文件解释器后面要有脚本的基本信息等内容
(4)脚本文件中尽量不用中文注释
- 尽量用英文注释,防止本机或切换系统环境后中文乱码的困扰
- 常见的注释信息:脚本名称、脚本功能描述、脚本版本、脚本作者、联系方式等
(5)脚本文件常见执行方式:bash 脚本名
(6)脚本内容执行:从上到下,依次执行
(7)代码书写优秀习惯
- 成对内容的一次性写出来,防止遗漏。
如:()、{}、[]、’’、``、"" - []中括号两端要有空格,书写时即可留出空格[ ],然后再退格书写内容
- 流程控制语句一次性书写完,再添加内容
(8)通过缩进让代码易读(即该有空格的地方就要有空格)
最后
以上就是玩命往事为你收集整理的自动化与运维入门(一)自动化运维与shell简介自动化与运维可以做什么一、shell简介二、shell基础知识的全部内容,希望文章能够帮你解决自动化与运维入门(一)自动化运维与shell简介自动化与运维可以做什么一、shell简介二、shell基础知识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复