标签:install backup 声明 写入 主机 ack sha 空格 enter
if语句和case语句用法展示
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
1 if [ 条件判断式 ];then 2 源代码 3 fi
1 if [ 条件判断式 ] 2 then 3 源代码 4 fi
a>.if语句使用fi结尾,和一般语言使用大括号结尾不同; b>.[ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格; c>.then后面跟符合条件之后执行的程序,可以放在[]之后,用";"分割。也可以换行写入,就不需要";"啦;
1 [root@yinzhengjie shell]# more partitions.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 res=$(df -h | grep "/dev/sda2" | awk ‘{print $5}‘| cut -d "%" -f1) 8 9 if [ $res -ge 20 ] #为了测试方便,我这里将数据修改,生产环境建议设置成80! 10 then 11 echo "Warning! /dev/sda2 is full!!!" 12 fi 13 [root@yinzhengjie shell]#
1 if [ 条件判断式 ] 2 then 3 条件成立时,执行的源代码。 4 else 5 条件不成立是,执行的另一个程序。 6 fi
1 [root@yinzhengjie backup]# more file_backup.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 #同步系统时间,可以先ping通再选择服务器,1.cn.pool.ntp.org;2.asia.pool.ntp.org;3.asia.pool.ntp.org 8 ntpdate 2.asia.pool.ntp.org &> /dev/null 9 10 FilePath="/etc" 11 BackSave="/tmp/backup" 12 13 14 date=`date +%F` #也可以这样玩,date +%y%m%d,看你个人习惯了! 15 16 size=$(du -sh $FilePath) 17 18 if [ -d $BackSave ] 19 then 20 echo "Date is:$date" > $BackSave/backup.log 21 echo "Size is:$size" > $BackSave/backup.log 22 cd $BackSave 23 tar -zcf $FilePath_$date.tar.gz $FilePath $BackSave/backup.log &> /dev/null 24 rm -rf $BackSave/backup.log 25 else 26 mkdir $BackSave 27 echo "Date is:$date" > $BackSave/backup.log 28 echo "Size is:$size" > $BackSave/backup.log 29 cd $BackSave 30 tar -zxf $FilePath_$date.tar.gz $FilePath $BackSave/backup.log &> /dev/null 31 rm -rf $BackSave/backup.log 32 fi 33 [root@yinzhengjie backup]#
1 [root@yinzhengjie backup]# more ServerAlarm.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 Host=192.168.1.110 8 9 res=`rpm -qa | grep nmap` 10 if [ -z $res ] 11 then 12 yum -y install nmap &> /dev/null 13 else 14 echo “准备开始扫描主机服务!” 15 fi 16 17 ServiceStatus=$(nmap -sT $Host |grep tcp | grep http|awk ‘{print $2}‘) #使用nmap可以准确的判断一台服务器的服务是否正常。 18 19 if [ "$ServiceStatus" == "open" ] 20 then 21 echo "$(date) httpd is ok !" >> /tmp/HttpdAlarm-acc.log 22 else 23 /etc/rc.d/init.d/httpd restart &>/dev/null #注意,如果不是你本机的话,不能直接这么干哟,需要先远程上去再执行命令! 24 echo "`date` restart httpd!!" >> /tmp/HttpdAlarm-err.log 25 fi 26 [root@yinzhengjie backup]#
1 if [ 条件判断式1 ] 2 then 3 当条件判断式1成立时,执行的程序1 4 elif [ 条件判断式2 ] 5 then 6 当条件判断式2成立时,执行程序2 7 else 8 当所有条件都不成立时,最后执行此程序 9 fi
1 [root@yinzhengjie backup]# more InputFile.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 read -p "Please input a filename:" file 8 9 if [ -z "$file" ] 10 then 11 echo "Eorr,please input a filename!" 12 exit 100 13 elif [ ! -e "$file" ] 14 then 15 echo "Your input is not a file!" 16 elif [ -f "$file" ] 17 then 18 echo "$file is a regulare file!" 19 elif [ -d "$file" ] 20 then 21 echo "$file is direcory!" 22 else 23 echo "$file is an other file!" 24 fi 25 [root@yinzhengjie backup]#
1 case $变量名 in 2 "值1") 3 如果变量的值等于1,则执行程序1 4 ;; 5 "值2") 6 如果变量的值等于2,则执行程序2 7 ;; 8 "值3") 9 如果变量的值等于3,则执行程序3 10 ;; 11 *) 12 如果变量的值都不是以上的值,则执行此程序 13 ;; 14 esac
1 [root@yinzhengjie backup]# more choose.sh 2 #!/bin/bash 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie 5 #EMAIL:y1053419035@qq.com 6 7 echo "If you want to beijing,please input [1]" 8 echo "If you want to shanghai,please input [2]" 9 echo "If you want to shijiazhuang,please input [3]" 10 echo "If you want to wenzhou,please input [4]" 11 12 read -t 30 -p "Where do you want to go ? >>> " choose 13 14 case "$choose" in 15 "1") 16 echo "Go to beijing!" 17 ;; 18 "2") 19 echo "Go to shanghai!" 20 ;; 21 "3") 22 echo "Go to shijiazhuang!" 23 ;; 24 "4") 25 echo "Go to wenzhou!" 26 ;; 27 *) 28 echo "Please enter 1/2/3/4,Thanks!" 29 ;; 30 esac 31 32 [root@yinzhengjie backup]#
标签:install backup 声明 写入 主机 ack sha 空格 enter
原文地址:http://www.cnblogs.com/yinzhengjie/p/7675196.html