----------------------------------目录--------------------------------------------------
目录(if开头为if语句,for开头为for语句,if5.sh为case语句)
if3.sh:判断httpd是否启动,如果没有启动会自动启动流程
----------------------------正文--------------------------------------------
if1.sh:判断根分区使用率,大于60会报警
vim if1.sh
#!/bin/bash
#判断根分区磁盘占有率过高的问题。>=60%
rate=$( df -h | grep /dev/mapper/cl-root | awk '{print $5 }' | cut -d "%" -f 1 )
if [ $rate -ge 60 ]
then
echo "Waring!根分区磁盘占有率过高!!!"
fi
---------------------------
if2.sh:备份数据库、目录、文件等等
vim if2.sh
#!/bin/bash
#备份文件夹或者数据库等等。
date=$(date +%y%m%d)
size=$(du -sh /root/chen)
if [ -d /tmp/dbback ] #判断dbback这个文件是否存在
then
echo "Date is: $date" > /tmp/dbback/db.txt #输出时间,以21230这种格式
echo "Size is: $size" >> /tmp/dbback/db.txt #统计大小
cd /tmp/dbback
tar -zcf chen_$date.tar.gz /root/chen /tmp/dbback/db.txt &>/dev/null #在tmp/dbback下面进行打包
rm -rf /tmp/dbback/db.txt
else
mkdir /tmp/dbback
echo "Date is:$date" > /tmp/dbback/db.txt
echo "Size is:$size" >>/tmp/dbback/db.txt
cd /tmp/dbback
tar -zcf chen_$date.tar.gz /root/chen /tmp/dbback/db.txt $>/dev/null
rm -rf /tmp/dbback/db.txt
fi
--------------------------
if3.sh:判断httpd是否启动,如果没有启动会自动启动流程
vim if3.sh
#!/bin/bash
#判断apache是否启动:service httpd restart,停止service httpd stop
#如果停止不了,ps命令,然后kill杀掉进程。
rate=$(nmap 192.168.61.128 | grep "tcp" | grep "http" | awk '{ print $2 }' ) #nmap命令与awk命令结合使用,筛选出“open”
if [ "$rate" == "open" ] #如果$tate等于open
then
echo "$(date) httpd is ok !!!" >> /tmp/httpd_acc.log
else
/etc/rc.d/init.d/httpd restart &>/dev/null #启动httpd
echo "$(date) httpd reboot!!" >> /tmp/httpd_err.log
fi
---------------------------------
if4.sh:判断输入的是什么文件类型
vim if4.sh
#!/bin/bash
#判断用户输入的是什么文件
read -p "please input a filename:" file
if [ -z "$file" ] #判断file变量是否为空
then
echo "Error please "
exit 1
elif [ ! -e "$file" ] #判断file这个值是否存在
then
echo "you input is not a file" #如果file这个值不存在
exit 2
elif [ -f "$file" ] #判断file变量是否为普通文件
then
echo " $file is a regulare file !"
elif [ -d "$file" ] #判断file变量是否为目录文件
then
echo "$file is a direcotry!"
else
echo "$file is an other file!"
fi
--------------------------
if5.sh:选择一个你想去的城市(用caase语句)
vim if5.sh
#!/bin/bash
echo "如果你想去上海,请选择1"
echo "如果你想去广州,请选择2"
echo "如果你想去成都,请选择3"
read -t 30 -p "请选择你想去的城市:" cho
case "$cho" in
"1")
echo "上海欢迎你!"
;;
"2")
echo "广州欢迎你!!"
;;
"3")
echo "成都欢迎你!"
;;
*)
echo "请按提示输入1/2/3 !!!!!!"
;;
esac
---------------------------------------
for1.sh:依次输出数字1-6
vim for1.sh
#!/bin/bash
#一次输出数字1-6
for i in 1 2 3 4 5 6
do
echo "$i"
done
--------------
for2.sh:批量解压脚本
vim for2.sh
#!/bin/bash
#批量解压脚本
cd /root/sh/if
ls *.sh >ls.log
for i in $(cat ls.log)
do
tar -zcf $i &>/dev/null
rm -rf /root/sh/if/ls.log
done
---------------------
for2.1.sh:统计if目录下以.sh结尾文件的个数
vim for2.1.sh
#!/bin/bash
#统计if文件下以.sh的个数
cd /root/sh/if
ls *.sh >ls1.log
y=1
for i in $(cat ls1.log)
do
echo "$y"
y=$(($y + 1))
done
-----------------
for3.sh:求1到100的总和
vim for3.sh
#!/bin/bash
#求1加到100的总和
s=0
for ((i=1;i<=100;i++))
do
s=$(($s + $i))
done
echo "1+2+3+...100总和为:$s"
----------------------------
useradd.sh:批量添加用户
vim useradd.sh
#!/bin/bash
#批量添加用户
read -t 30 -p "请输入添加的同户名:" name
read -t 30 -p "请输入添加的个数:" number
read -t 30 -p "请输入初始密码:" pass
if [ ! -z "$name" -a ! -z "$number" -a ! -z "$pass" ]
then
y=$(echo $number | sed 's/^[0-9]*$'//g)
if [ -z "$y" ]
then
for((i=1;i<=$number;i++))
do
useradd $name$i &>/dev/null
echo $pass | passwd --stdin "$name$i" &>/dev/null
done
fi
fi