博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用的shell脚本案例(14.04.15更新)
阅读量:6842 次
发布时间:2019-06-26

本文共 2469 字,大约阅读时间需要 8 分钟。

hot3.png

编写shell脚本的思路1、思考需要实现什么功能2、用什么命令、方法实现此功能3、写shell代码4、将此.sh文件写入/root/.bash_profile 登陆文件中###CPU 内存 网络 存储IO############!/bin/bashmkdir -p /var/log/runrecRecFile="/var/log/runrec/running.today"RecTime=`date +"%Y-%m-%d %H:%M"`LoadRec=`uptime`MemRec=`free -m`LastLoginRec=`last -n 20`x=`ps aux | wc -l`proNum=`expr $x - 1`usage=` df -hT | grep "/$" | awk '{print $6}'`echo"++++++++++++++++++++++++++++++++++++++++++++++++++++++++Record Time: $RecTimecpu Load information:$LoadRecMemory information:$MemRecLast login 20 users record:$LastLoginRecrunning process : $proNumusage of / filesys: $usage">> $RecFile###查看服务状态\重启等#######!/bin/bash /etc/init.d/$1 status/stop/start/restart/reload#! /bin/bash/sbin/service httpd status &> /dev/nullif [ $? -ne 0 ] ; thenecho "httpd is down.at time: `date`" >> /var/log/htmon.log/sbin/service httpd restart/sbin/service httpd status &>/dev/nullfi############检测FTP服务是否开启#!/bin/bashTARGET=$(awk'{print $1}' /etc/ethers)echo"follow is anonymous FTP server:"for IP in $TARGETdo wget –T 3  -t 3 ftp://$IP/ &> /dev/null		if [ $? -eq0 ] ; then 			echo $IP		fidone参数提示:-T 连接超时时间;-t 连接重试次数####搜集网卡MAC地址#!/bin/bashNADD="192.168.4."FILE="/etc/ethers"[-f $FILE ] && /bin/cp -f $FILE $FILE.oldHADD=1while[ $HADD -lt 4 ]do	arping -c 2 -w 1 ${NADD}${HADD} &>/dev/null		if [ $? -eq0 ] ; then  		arp -n | grep ${NADD}${HADD} | awk '{print$1,$3}' >> $FILE		fi	let HADD++done#########批量添加用户要求提供交互功能,当管理员执行该脚本时,可以根据提示指定需添加的用户数量(少于100)、用户名前缀、并能够设置这些用户账户的失效时间,初始密码。用户名编号统一使用两位数,如使用”01”、”02”、”03”的形式,而不是”1”、”2”、”3”的形式。编写对应的批量删节除用户脚本,要能够通过命令行参数指定用户名前缀,执行脚本后删除所有使用了该前缀的用户账户,但要防止删除root用户。批量添加用户脚本:1、批量添加用户脚本myuadd.sh内容如下:#!/bin/bashread-p "input nu <1-99>:" nuread-p "input name:" nameread-p "input date 
:" dateread-p "input password:" passworda=1if[ $nu -lt 100 ]then while[ $a -le $nu ] do if [ $a -lt 10 ] then useradd -e $date"$name"0"$a" echo "$password" | passwd--stdin "$name"0"$a" &>/dev/null else useradd -e $date"$name""$a"     echo "$password" | passwd--stdin "$name""$a" &>/dev/null fi a=`expr$a + 1` donefi######批量删除用户脚本:1、批量删除用户脚本myudel.sh内容如下:#!/bin/bashif[ $# -le 0 ] ; thenecho "error:the prefix of users has notbe specified."echo "usage:$0 nameprefix"exit 1fitarjcvf /root/users.cnf.tar.gz /etc/passwd /etc/shadow /etc/group &>/dev/nulltobedel=`grep"$1" /etc/passwd | cut -d ":" -f 1 | grep -v"root"`for u in $tobedeldouserdel -r $u &> /dev/nulldone

转载于:https://my.oschina.net/15861803763/blog/222715

你可能感兴趣的文章