shell案例练习一

检测机房里面的服务器的工作情况,将正常工作的服务器的主机名称和ip抓取出来放到指定文件当中

#!/bin/bash
Auto_Ssh()
{
   
/usr/bin/expect <<EOF
spawn ssh root@$1 hostname
expect {
   
"yes/no" {
    send "yes\r" ;exp_continue }
"password" {
    send "Asimov\r" }
}
expect eof
EOF
}
for IP in {
   1..10}
do
        ping -c1 -w1 172.25.254.$IP &> /dev/null
        if [ "$?" -eq "0" ]
        then
                echo "`Auto_Ssh 172.25.254.$IP |tail -n 1 |sed 's/^M//g'` A 172.25.254.$IP" >> /mnt/host
        fi
done

编写脚本实现创建指定文件中的用户并且设置用户的密码

vim userfile
user1
user2
user3
vim passwdfile
123
456
789
vim create_user.sh
#!/bin/bash
if [ $# -lt 2 ]
then
	echo "Error:please input two files following script!!!"

elif [ ! -e $1 ]
then
	echo:"Error:$1 is not exit"

elif [ ! -e $2 ]
then
	echo:"Error:$1 is not exit"
else
	Num=`awk 'BEGIN{N=0}{N++}END{print N}' userfile`
	for I in `seq 1 $Num`
	do
		USERNAME=`sed -n ${
   I}P userfile`
		PASSWD=`sed -n ${
   I}P passwdfile`
		getent passwd $USERNAME &> /dev/null
		
		if [ "$?" = ""0 ]
		then
			echo $USERNAME is exit
		else 
			useradd $USERNAME
			echo $PASSWD |passwd --stdin $USERNAME >/dev/null
			echo $USERNAME is create
		fi
	done
fi
sh create_user.sh userfile passwdfile

编写脚本实现10s监控一次系统的负载并且显示到shell终端界面

while true
do
	clear      #先将屏幕清空
	uptime     #查看系统负载
	sleep 3    #停留3s
done

编写脚本检测同一个机房里的服务器哪些是通的

#!/bin/bash
for IP in {
   1..10}定义循环的变量以及范围
do
	ping -c1 -w1 172.25.254.$IP &> /dev/null 
	[ "0"="$?" ] && {
   
	echo 172.25.254.&IP
	}
done

编写脚本uesr_ctrl.sh实现建立用户和删除用户 (脚本函数的应用)

#!/bin/bash
echo -e "[C]reate [D]elete [E]xit\n"
Choose_Action_Func()    定义选择选项的函数
{
   
	read -p "Please input Action: " WORD  
	ACTION=`echo "$WORD" |tr 'A-Z' 'a-z'`             #将所有的大小写化为一致
	[ "$ACTION" = "c" -o "$ACTION" = "create" ] && {
   
		Create_User_Func                              #如果选择创建用户,就去调用create函数
	}
	[ "$ACTION"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值