2018.4.17 16周5次课

十六周五次课(4月17日)

20.1 shell脚本介绍

20.2 shell脚本结构和执行

20.3 date命令用法

20.4 shell脚本中的变量

20.1 shell脚本介绍

shell是一种脚本语言  aming_linux  blog.lishiming.net

可以使用逻辑判断、循环等语法

可以自定义函数

shell是系统命令的集合

shell脚本可以实现自动化运维,能大大增加我们的运维效率

在正式编写shell脚本之前,建议凡是自定义的的脚本都放到/usr/local/sbin/目录下,这样做的目的时:一来可以更好地管理文档;二来以后接管你工作的管理员都知道自定义脚本放在哪里,方便维护。

20.2 shell脚本结构和执行

开头需要加#!/bin/bash,表示接下来的命令在通过哪一个解释器来操作的,表示该文件使用的时bash语法。在本机上如果不设置该行,你的机器能识别shell脚本,也可以执行。如果在其他机器上不一定能执行。

其他行以#开头的行作为解释说明

脚本的名字以.sh结尾,用于区分这是一个shell脚本

sh命令就是bash命令

执行方法有两种

chmod +x 01.sh //给1.sh执行权限

./01.sh //这样执行是因为脚本的文件头有 #!/bin/bash,后面的命令已经被/bin/bash解析了

bash 1.sh

查看脚本执行过程 bash -x 01.sh

查看脚本是否语法错误  bash -n 01.sh

20.3 date命令用法

date +%Y:表示以四位数字格式打印年份

date +%y:表示以两位数字格式打印年份

date +%m:表示月份

date +%d:表示日期

date +%H:表示小时

date +%M:表示分钟

date +%S:表示秒

date +%w:表示星期。结果显示0则表示周日

date +%W:表示今年的第几周

date  +%Y-%m-%d, date +%y-%m-%d 年月日

date  +%H:%M:%S = date +%T 时间

date +%s  时间戳 //距离1970.1.1到现在过去多少秒

date -d @1504620492

date -d "+1day"  一天后

date -d "-1 day"  一天前

date -d "-1 month" 一月前

date -d "-1 min"  一分钟前

cal:表示日历

时间戳互换:

20.4 shell脚本中的变量

当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替

使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi

引用某个命令的结果时,用变量替代   n=`wc -l 1.txt`

写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY

内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数

数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]

定义变量的格式为:“变量名=变量的值"。在脚本中引用变量时需要加上符号$

原文地址:http://blog.51cto.com/415326/2104353

时间: 2024-10-07 09:29:09

2018.4.17 16周5次课的相关文章

2018.1.17 6周3次课

六周第三次课(1月17日) 9.6/9.7 awk awk也是流式编辑器,针对文档中的行来操作,一行一行地执行.awk兼具sed的所有功能,而且更加强大.awk工具其实是很复杂的 (有专门的书来介绍它的应用), 对于初学者来说, 只要能处理日常管理工作中的问题即可. 截取文档中的某个段 -F 选项的作用是指定分隔符,如果不加-F指定,则以空格或者tab为分隔符. Print为打印的动作,用来打印出某个字段.$1为第一个字段,$2为第二个字段,依次类推,有一个特殊的那就是$0,它表示整行. 注意a

2018.4.12 16周2次课

十六周二次课(4月12日) 19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagi

2018.4.13 16周3次课

十六周三次课 (4月13日) 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形中的乱码 19.11 自动发现 19.7 主动模式和被动模式 主动或者被动是相对客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可. 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力. 服务端有公网ip,客户端只有内网ip,但

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.4.16 16周4次课

十六周四次课(4月16日) 19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理 19.12 添加自定义监控项目 前面提到过zabbix的优势,其中之一就是很方便地添加自定义监控项目,它虽然提供了丰富的模板,但依然不能满足各种各样的特殊需求.比如,想要监控Nginx的访问日志条数,此类个性化需求在zabbix的模板中是没有的.下面举一个实际的例子来教你添加自定义的监控项目,这涉及编写shell脚本.需求是:监控某台web服务器

2018.1.23 7周2次课

七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包 10.6 监控io性能 1. iostat来对linux硬盘IO性能进行检测 使用iostat,需要先安装sysstat ,即yum -y install sysstat iostat可以产生三种类型的报告:CPU利用情况报告.设备利用情况报告.网络文件系统利用情况报告. iostat命令格式可概述为: iostat[参数][时间][次数] 其中,时

2018.1.25 7周4次课

七周四次课(1月25日) 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例 需求:只针对filter表,预设策略INPUT链DROP, 其他两个链ACCEPT,然后针对192.168.37.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 这个需求不算复杂,但是因为有多条规则,所以最好写成脚本的形式.脚本内容如下: vi /usr/local/sbin/ip

2018.1.29 8周1次课

八周一次课(1月29日) 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron 其实大部分系统管理工作都是通过定期自动执行某个脚本来完成的, 那么如何定期执行某个脚本呢? 这就要借助Linux的cron功能了 Linux任务计划功能的操作都是通过crontab命令来完成的, 其常用的选项有以下几个. -u:表示指定某个用户,不加- u选项则为当