Shell脚本编程项目实战(必看)

1、脚本编程

■ 脚本编程步骤
● 需求分析
● 命令测试
● 脚本编程
● 测试调优
■ 需求分析
● 根据系统管理的需求,分析脚本要实现的功能、功能实现的层次、实现的命令与语句等
■ 命令测试
● 将要用到的命令逐个进行测试,以决定使用的选项、要设置的变量等
■ 脚本编程
● 将测试好的命令写入到脚本文件中,并通过各种语句将命令执行的结果保存、判断或者发出报警等
■ 调试优化
● 对脚本进行测试,并根据结果进行优化
● 建议一边编程一 边调试,以减少错误的发生

2、项目实例

2.1 MAC记录与端口扫描脚本

■ 企业环境说明
● 随着业务的不断发展,某公司所使用的L inux服务器也越来越多。在系统管理和维护过程中,经常需要编写一些实用的小脚本,以辅助运维工作,提高工作效率
■ 需求描述
● 编写名为system.sh的脚本,记录局域网中各主机的MAC地址,保存到/etc/ethers文件中;若此文件已存在,应先转移进行备份;每行一条记录, 第1列为IP地址,第2列为对应的MAC地址
● 检查有哪些主机开启了匿名FTP服务,扫描对象为/etc/ethers文件中的所有IP地址,扫描的端口为21
■ 脚本命令
记录局域网中各主机的MAC地址,检查有哪些主机开启了匿名FTP服务
● ping -c 3 -i 0.2 -w 1 ip :发送MAC地址解析请求(-c 连接次数 -i 时间间隔 -l 使用网卡 -w 超时时间)
● arp -n:记录MAC
● awk :打印ip与MAC地址
● 使用wget下载的方法测试FTP服务
■ 脚本编程

[root@server1 ~]# ping -C 3 -i 0.2 -W 3 192.168.100.100 > a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# arping -C 3 -I ens33 -W 3 192.168.100.100 >a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# arping -C 1 -I ens33 -W 3 192.168.100.100 >a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# awk '{print $4,$5}' a.txt > b.txt      
[root@server1 ~]# cat b. txt      
[root@server1 ~]# yum -y install vsftpd      
[root@serverl ~]# systemctl start vsftpd      
[root@server1 ~]# netstat -anpt| grep 21                    //两个主机安装ftp,查看21端口状态      
[root@server2 ~]# yum -y install vsftpd      
[root@server2 ~]# systemctl start vsftpd      
[root@server2 ~]# netstat -napt| grep 21      
[root@server2 ~]# nmap -p 21 192.168.100.110            //查看对应主机21端口是否开启      
[root@server2 ~]# nmap -p 21 192.168.100.110 & /dev/null      
[root@server2 ~]# wget ftp://192.168.100.110                 //匿名下载,下载文件名为index.html      
[root@client1 ~]# vi system. sh      
[root@client1 ~]# chmod +x system.sh      
[root@client1 ~]#  ./system. sh      
[root@client1 ~]# sort -u /etc/ethers      
#!/bin/bash      #记录在线用户并测试其是否开放21号端口      
net="192.168.100."      
file=/etc/ethers      
[-f /etc/ethers] && cp -f $file $file. bak      
add=1      
while [ $add -le 20 ]      
do           
   ping -C 3 -i 
  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值