脚本——倒计时,ping,创建用户,作业:ssh并创建用户(未能实现功能)
????????????????????????????????????????????????????????????????????????????????????????腳本一
要求:ping同一網(wǎng)段下1到10號(hào)機(jī),若ping通,輸出up,否則輸出down
#!/bin/bash
for((i=0;i<=10;i++))
do
ping -c1 -w1 172.25.254.$i &> /dev/null && echo "$i is up" || echo "$i is down"
done
????????????????????????????????????????????????????????????????????????????????????????腳本二
要求:一分十秒的倒計(jì)時(shí)
#!/bin/bash
MIN=1
for ((SEC=10;SEC>=0;SEC--))
do
echo -ne "After ${MIN}:${SEC}s is end"
sleep 1
echo -ne "\r?? ? \r"
?? ?while [ "$SEC" -eq "0" -a "$MIN" -gt "0" ]
?? ?do
?? ?echo -ne "After ${MIN}:${SEC}s is end"
?? ?echo -ne "\r?? ?\r"
?? ?((MIN--))
?? ?SEC=60
?? ?done
done
????????????????????????????????????????????????????????????????????????????????????????腳本三
要求:通過(guò)從指定文件得到用戶密碼并創(chuàng)建用戶,若用戶存在,提示報(bào)錯(cuò),若用戶數(shù)和密碼數(shù)不同,提示報(bào)錯(cuò)
#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
?? ?if
?? ?[ -e "$1" -a -e "$2" ]
?? ?then
?? ?MAXUSER=`wc -l $1 | cut -d " " -f 1`
?? ?MAXPASS=`wc -l $2 | cut -d " " -f 1`
?? ??? ?[ "$MAXUSER" -eq "$MAXPASS" ]&&(
?? ??? ?for NUM in $( seq 1 $MAXUSER )
?? ??? ?do?? ?
?? ??? ?USERNAME=`sed -n ${NUM}p $1`
?? ??? ?PASSWORD=`sed -n ${NUM}p $2`
?? ??? ?CKUSER=`getent passwd $USERNAME`
?? ??? ?[ -z "$CKUSER" ]&&(
?? ??? ?useradd $USERNAME
?? ??? ?echo $PASSWORD |passwd --stdin $USERNAME
?? ??? ?)||echo "$USERNAME exist !!"
?? ??? ?done
?? ??? ?)||(
?? ??? ?echo $1 and $2 have different lines
?? ??? ?)
?? ?elif
?? ?[ ! -e "$1" ]
?? ?then
?? ?echo "ERROR:$1 is not exist"
?? ?else
?? ?echo "ERROR:$2 is not exist"
?? ?fi
else
echo "ERROR: Please input userfile and password file after command!!"
fi
????????????????????????????????????????????????????????????????????????????????????????????腳本四
要求:本地創(chuàng)建用戶文件和密碼文件,通過(guò)ping同一網(wǎng)段的多臺(tái)機(jī)器,若ping通,ssh連接機(jī)器,并在連接的機(jī)器上創(chuàng)建從用戶文件和密碼文件中讀取的相關(guān)用戶
#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
?? ?if
?? ?[ -e "$1" -a -e "$2" ]
?? ?then
?? ?MAXUSER=`wc -l $1 | cut -d " " -f 1`
?? ?MAXPASS=`wc -l $2 | cut -d " " -f 1`
?? ??? ?[ "$MAXUSER" -eq "MAXPASS" ]&&(
?? ??? ?for NUM in $( seq 1 $MAXUSER )
?? ??? ?do
?? ??? ?USERNAME=`sed -n ${NUM}p $1`
?? ??? ?PASSWORD=`sed -n ${NUM}p $2`
?? ??? ?for (( i=2;i<=4;i++ ))
?? ??? ?do
?? ??? ??? ?ping -c1 -w1 172.25.254.$i? &> /dev/null
?? ??? ??? ?if [[ $? -eq 0 ]]
?? ??? ??? ?then
?? ??? ??? ?/home/kiosk/Desktop/ssh.exp 172.25.254.$i redhat
?? ? ?? ??? ?CKUSER=`getent passwd $USERNAME`
?? ??? ??? ?[ -z "$CKUSER" ]&&(
?? ??? ??? ?useradd $USERNAME
?? ??? ??? ?echo $PASSWORD | passwd --stdin $USERNAME
?? ??? ??? ?)||echo "$USERNAME exist!"
?? ??? ??? ?exit
?? ??? ??? ?else
?? ??? ??? ?echo "ERROR: Please input userfile and password file after command"
?? ??? ??? ?fi
?? ??? ??? ?done
?? ??? ?)||(
?? ??? ?echo $1 and $2 have different lines
?? ??? ?)
else
echo 172.25.254.$i is down
fi
done
ssh.exp:
#!/usr/bin/expect
set IP [lindex $argv 0]
set PASS [lindex $argv 1]
set COMM [lindex $argv 2]
spawn ssh root@$IP $COMM
expect {
?? ?"yes/no"
?? ?{send "yes\r";exp_continue}
?? ?"password:"
?? ?{send "$PASS\r"}
?? ?}
interact
轉(zhuǎn)載于:https://blog.51cto.com/12110509/1883131
總結(jié)
以上是生活随笔為你收集整理的脚本——倒计时,ping,创建用户,作业:ssh并创建用户(未能实现功能)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Logback日志系统配置攻略
- 下一篇: {dede:list}和{dede:ar