编程步骤
需求分析
根据系统管理的需求,分析脚本要实现的功能,功能实现的层次,实现的命令与语句等
命令测试
将要用到的命令逐个进行测试,以决定使用的选项,要设置的变量等
脚本编程
将测试好的命令写入到脚本文件中,并通过各种语句将命令执行的结果保存,判断或者发出报警等
调试优化
对脚本进行测试,并根据结果进行优化
建议一边编程一边调试,以减少错误的发生
项目
MAC记录与端口扫描脚本
环境
随着业务的不断发展,某公司所使用的Linux服务器也越来越多。在系统管理和维护过程中,经常需要编写一些实用的小脚本,以辅助运维工作,通过工作效率
需求
编写名为system.sh的脚本,记录局域网中各主机的MAC地址,保存到/etc/ethers文件中;若此文件已存在,应先转移进行备份;每行一条记录,第一列位IP地址,第2列为对应的MAC地址
检查有哪些主机开启了匿名FTP服务,扫描对象为/etc/ethers文件中的所有IP地址,扫描的端口为21
命令
分析:记录局域网中各主机的MAC地址;检查有哪些主机开启了匿名FTP服务
ping -c 3 -i 0.2 -w 1 ip :发送MAC地址解析请求
arp -n:记录MAC
awk :打印ip与MAC地址
使用wget下载的方法测试FTP服务
脚本
确认主机相连后,确认安装开启ftp和21号端口
开发系统监控
环境
某公司随着业务的不断发展,所使用的Linux服务器也越来越多。管理员希望编写一个简单的性能监控脚本,放到各服务器中,当监控指标出现异常时发送告警邮件
需求
编写名为sysmon.sh的Shell监控脚本监控内容包括CPU使用率,内存使用率,根分区的磁盘占有率百分比只需精确到个位,如7%,12%,23%等出现以下任意情况时告警:磁盘占有率超过90%,CPU使用率超过80%,内存使用率超过90%,告警邮件通过mail命令发送到指定邮箱
命令
分析:监控内容包括CPU使用率,内容使用率,根分区的磁盘占有率
df命令
awk命令
mpstat命令(需安装sysstat软件包)
free命令
脚本
磁盘占用
cpu占用
内存使用
配置文件
编辑脚本
实现dns及apache服务的一键化部署
需求
要求apche服务器绑定域名,客户机实现访问。
配置文件
主体配置文件
5.1.txt正反向配置文件
5.2.txt
5.3.txt