脚本两连发
2014-04-07 18:13
253 查看
脚本一:
通过脚本对新硬盘进行分区
![](http://s3.51cto.com/wyfs02/M00/23/BE/wKiom1NCeJjTGLVtAANkARG4pjs406.jpg)
脚本二:
通过ping命令检测某个网段主机是否存活
首先,我是在虚拟机上做的实验,并没有很多主机。那么我们可以先通过一个简单的脚本创建一些虚拟网卡并配上IP。
注意:不要创建太多的虚拟网卡数量,如果数量过多,创建过程会非常的慢;还有ping脚本命令测试之后,你要删除这些虚拟网卡,不然等下次你重新启动虚拟机的时候会非常的慢~~~
执行结果:
![](http://s3.51cto.com/wyfs02/M00/23/BE/wKiom1NCeVHQ09keAAJpDZyi9pE394.jpg)
这里我没有其他输出信息,使用ifconfig查看,虚拟网卡已经创建成功并且成功启动。接下来就可以进行我们的ping测试了。
ping脚本如下执行结果:
![](http://s3.51cto.com/wyfs02/M02/23/BF/wKioL1NCeYSi0BEFAAIn9Fblp1k474.jpg)
查看/tmp/host_up.log和/tmp/host_down.log
![](http://s3.51cto.com/wyfs02/M00/23/BF/wKioL1NCedXSDQh6AADydFdEetc991.jpg)
![](http://s3.51cto.com/wyfs02/M02/23/BF/wKiom1NCef2RL05gAAD5HcaUmts393.jpg)
通过脚本对新硬盘进行分区
[root@myb362 ~]# cat fdisk.sh #!/bin/bash #Version 0.1 #Pragram:对新硬盘进行分区 #Author:Myb #Data:2014-04-06 echo -e "==========\033[1;31;49m硬盘分区\033[0m==========" #输出信息 echo "您拥有如下硬盘:” fdisk -l | grep -o "Disk /dev/[hs]d[a-z]" #输出硬盘信息 echo -e -n "\033[1;31;49m请输入你要进行分区的硬盘(输入格式:/dev/hda;退出请输入quit):\033[0m" read Disk #保存用户输入的信息 # 如果用户输入quit则直接退出脚本! if [ $Disk == quit ];then echo "您未选择硬盘!退出成功!" exit 3 fi #如果用户输入的硬盘格式不对,则提示用户重新输入! until fdisk -l > /dev/null | grep -o "Disk /dev/[hs]d[a-z]" | grep "^Disk $Disk$" >/dev/null;do read -p "您的输入有误,请重新输入(输入格式:/dev/hda;退出请输入quit):" Disk #如果用户在此输入了quit则也退出脚本 if [ $Disk == quit ];then echo "您选择了退出!退出成功!" exit 4 fi done #检测用户输入的硬盘是否已经被挂载,如果已经挂载就执行while循环里的语句! while mount |grep "$Disk" &>/dev/null;do #显示硬盘挂载信息 echo "您的硬盘已经被挂载,挂载信息如下:" mount | grep "$Disk" #提示用户是否继续操作 echo -e -n "\033[1;31;49m是否要强制卸载$Disk硬盘?(y继续|n退出):\033[0m" read Umount #如果用户输入n,则退出脚本! if [ $Umount == n ];then echo "您选择了退出!退出成功!" exit 4 #如果用户输入y,则强制卸载硬盘 elif [ $Umount == y ];then echo "正在卸载$Disk,请等待......" #通过for循环卸载已经挂载的硬盘 for i in `mount |grep "$Disk"|awk '{print $3}'`;do fuser -km $i >/dev/null umount $i >/dev/null echo "卸载$Disk硬盘成功!" done #如果用户输入的不是y或者n,则提示用户输入错误,请重新输入 else read -p "您的输入有误,请重新输入(y继续|n退出):" Umount fi done #提示用户将会格式化硬盘,是否继续 echo -n -e "\033[1;31;49m将会格式化$Disk硬盘,是否继续?(y继续|n退出):\033[0m" read Choice #如果用户输入的不是y或者n,就提示用户输入错误,请重新输入 until [ $Choice == y -o $Choice == n ];do read -p "您的输入有误,请重新输入(y继续|n退出):" Choice done #如果用户输入n,就退出脚本!<BR>if [ $Choice == n ];then echo "您选择了退出!退出成功!" else #如果用户输入y,则继续执行! echo -e "即将对$Disk硬盘进行分区" sleep 3 #清除硬盘数据 dd if=/dev/zero of=/dev/sdd bs=512 count=1 >/dev/null sync echo "格式化$Disk硬盘成功!" sleep 3 echo "正在对$Disk硬盘进行分区,请等待......" #对硬盘进行分区 #通过管道将echo的值传给fdisk命令 echo 'n p 1 +50M n p 2 +50M n p 3 +100M t 3 82 w' | fdisk $Disk >/dev/null #显示分区信息 echo "$Disk硬盘分区成功!硬盘分区信息如下:" fdisk -l | grep "$Disk" echo "即将对硬盘分区进行格式化!请等待......" #格式化分区! mke2fs -t ext4 ${Disk}1 >/dev/null echo "${Disk}1分区格式化完成!" mke2fs -t ext4 ${Disk}2 >/dev/null echo "${Disk}2分区格式化完成!" mkswap ${Disk}3 >/dev/null echo "Swap交换分区创建完成!" #硬盘分区格式化成功! echo -e "\033[1;31;49m$Disk硬盘分区格式化完成!\033[0m" fi执行结果:
![](http://s3.51cto.com/wyfs02/M00/23/BE/wKiom1NCeJjTGLVtAANkARG4pjs406.jpg)
脚本二:
通过ping命令检测某个网段主机是否存活
首先,我是在虚拟机上做的实验,并没有很多主机。那么我们可以先通过一个简单的脚本创建一些虚拟网卡并配上IP。
注意:不要创建太多的虚拟网卡数量,如果数量过多,创建过程会非常的慢;还有ping脚本命令测试之后,你要删除这些虚拟网卡,不然等下次你重新启动虚拟机的时候会非常的慢~~~
执行结果:
![](http://s3.51cto.com/wyfs02/M00/23/BE/wKiom1NCeVHQ09keAAJpDZyi9pE394.jpg)
这里我没有其他输出信息,使用ifconfig查看,虚拟网卡已经创建成功并且成功启动。接下来就可以进行我们的ping测试了。
ping脚本如下执行结果:
![](http://s3.51cto.com/wyfs02/M02/23/BF/wKioL1NCeYSi0BEFAAIn9Fblp1k474.jpg)
查看/tmp/host_up.log和/tmp/host_down.log
![](http://s3.51cto.com/wyfs02/M00/23/BF/wKioL1NCedXSDQh6AADydFdEetc991.jpg)
![](http://s3.51cto.com/wyfs02/M02/23/BF/wKiom1NCef2RL05gAAD5HcaUmts393.jpg)
上边的脚本中,有些echo行我是注释掉的,如果取消注释,可以查看更多信息。
总结:这两个脚本在生成环境中还是有一定作用的,尤其是ping命令检测。通过这两个脚本,我们也可以更好的掌握脚本的编写方法。前路漫漫,每一步都不容易。脚踏实地的走好每一步!本文出自 “Linux步行街” 博客,请务必保留此出处http://mybsir.blog.51cto.com/4618614/1391730
相关文章推荐
- java设计模式之模板方法模式Template method
- AlertDialog自定义弹出对话框
- fedora安装sun sdk
- 好汉歌——人才啊
- apt-get install安装软件问题(安装包的依赖库版本过高问题)
- 《Linux/Unix系统编程手册》读书笔记 目录
- 鸟哥LINUX学习笔记(4)
- Android 4.3中的视觉边界布局(Optical bounds layout)
- 练习:判断单链表是否为环--C实现
- (52)查找指定字符是否在指定字符串中
- Sample RWD Setup for Client-Side Development
- SQL查询表中最后5条记录
- 关于Mongodb
- wifi 基础知识
- Css小样式
- Android 锁屏探究
- bitset类学习(补充)
- 常用的几种简单的内部排序方法
- iWatch将至!苹果WWDC14将于六月二号开场
- python 中文乱码 问题深入分析