1.編寫(xiě)腳本實(shí)現(xiàn)傳入進(jìn)程pid,查看對(duì)應(yīng)進(jìn)程/proc下CPU靡砌,內(nèi)存指標(biāo)
#!/bin/bash
read -p "input pid :" pid?
a=`ps aux | grep $pid | awk '{print $2}'| grep ^$pid`
if [ "$pid" == "$a" ];then
? ? ? ? cat /proc/$pid/status
else
? ? ? ? echo "pid no "
fi
2.編寫(xiě)腳本實(shí)現(xiàn)每分鐘檢查一個(gè)主機(jī)端口是否存活(提示使用nmap),如果檢查到端口不在線守伸,sleep10s如果3此都不存在览濒,記錄到日志當(dāng)中
a(){
#!/bin/bash
sum=0
while [ $sum -lt 1 ];do
? ? ? ? a=`nmap 192.168.1.47 | grep ^[0-9] | cut -d " " -f 2|head -1`
? ? ? ? if [? "$a" == "open" ];then
? ? ? ? ? ? ? ? echo "hostname is up"
? ? ? ? elif [ "$a" == "" ];then
? ? ? ? ? ? ? ? echo "hostname is down"
? ? ? ? ? ? ? ? sleep 1
#? ? ? ? ? ? ? ? echo "hostname is down" >> /data/f4
? ? ? ? else
? ? ? ? ? ? ? ? true
? ? ? ? fi
? ? ? ? let sum+=1
done
}
a | grep "hostname is down" && echo "hostname down" >/data/f4
3編寫(xiě)腳本/root/bin/excute.sh,判斷參數(shù)文件是否為sh后綴的普通文件包各,如果是,添加所有可執(zhí)行權(quán)限靶庙,否則提示用戶非腳本文件
[[ $1 =~ \.*sh$ ]] && [ -f $1 ] && chmod +x $1 || echo fei job file `exit`
4.編寫(xiě)腳本/root/bin/nologin.sh和login.sh问畅,實(shí)現(xiàn)禁止和運(yùn)行普通用戶登錄系統(tǒng)
禁止普通用戶登錄腳本
#!/bin/bash
sed -i -r 's@(.*[0-9]{4}.*:).*@\1/sbin/nologin@' /etc/passwd
#!/bin/bash
啟用普通用戶登錄腳本
#!/bin/bash
sed -i -r 's@(.*[0-9]{4}.*:).*@\1/bin/bash@' /etc/passwd
5.編寫(xiě)腳本/root/bin/sumid.sh,計(jì)算/etc/passwd文件鐘的第10個(gè)用戶和第20用戶的id之和
#!/bin/bash
a=`cat /etc/passwd|head -10|tail -1|cut -d: -f3`
b=`cat /etc/passwd|head -20|tail -1|cut -d: -f3`
# echo `let ${a}+$六荒`
let c=a+b
echo $c
unset a b