天天看點

設計腳本檔案

一、shell寫一個猜數字程式

s number game;
init()
{
echo " ################################### "
echo "                                     "
echo "             猜   數   字            "
echo "                                     "
echo " ################################### "
}
game()
{
number=$[$RANDOM%100]
while :
do
read -p "輸入你要猜測的數字: " n1
n2=`echo $n1 | sed 's/[0-9]//g'`
if [ ! -z $n2 ]
    then
        echo "你輸入的不是一個數字."
        continue
fi
if [ $n1 == $number ]
    then
        echo "你猜對了."
        read -p "你還想再玩一次麼?(yes/no)" an1
        while true
                do
                        case $an1 in
                        yes)
                        game
                        break
                        ;;
                        no)
                        break
                        ;;
                        *)
                        exit
                        esac
        done
        break
    elif [ $n1 -gt $number ]
    then
        echo "猜大了."
        continue
    else
        echo "猜小了."
        continue
    fi
done
}


while true
do
init
echo "1: Start Game "
echo "0: exit       "
read -p " please input 0-1:" NUM

case $NUM in
1)
        game
        break
        ;;
0)
        break
        ;;
esac

done      

二、監控tomcat的程式,發現tomcat挂了,重新開機

(1)分析

1.擷取tomcatID

TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')      

2.判斷

if [ $TomcatID ];then #這裡判斷Tomcat程序是否存在      

(2)具體的腳本

#!/bin/bash
source .bashrc
# 監控tomcat是否開啟
count1=$(ps aux | grep /usr/local/tomcat8/bin/bootstrap | grep -v grep| wc -l)
if [ $count1 -eq 0 ]
  then
    sh /usr/local/tomcat8/bin/startup.sh &> /dev/null
    sleep 5
          count2=$(ps aux | grep /usr/local/tomcat8/bin/bootstrap | grep -v grep | wc -l)
          if [ $count2 -eq 1 ]
                  then
                        echo "tomcat restart is ok."
          else
                  echo "tomcat restart is fail."
          fi
else
   echo "tomcat is running."
fi      

三、mysql的備份腳本,每天2:00執行,任務排程

(1)準備工作

1.删除原mysqldump.sql檔案

2.登入mysql

3.使用資料庫

use scott;      

4.退出

exit      

(2)備份

(1)核心代碼

這裡為了區分,對每天自動儲存的檔案進行命名,此處使用日期作為命名。注意此處的單引号為Tab鍵上方的`

mysqldump -uroot -p123QWEasd! --set-gtid-purged=OFF scott>`date +%F%T`.sql      

(2)編輯savemysql.sh檔案如下

[root@one ~]# vi savemysql.sh      
#! /bin/bash
#author:斯特凡今天也很帥
#每日10:29分備份資料庫

MY_user="root"
MY_pass="123QWEasd!"
mysqldump -u $MY_user -p$MY_pass --set-gtid-purged=OFF scott > `date +%F%T`.sql      

(3)給腳本權限

此處的755是全部權限的意思

[root@one ~]# chmod 755 savemysql.sh      

也可以使用以下代碼來實作

[root@one ~]# chmod +x savemysql.sh      

給到後再顯示目錄,檔案為綠色

設計腳本檔案

(4)編輯/etc/crontab檔案來設定自動備份

[root@one ~]# crontab -e      

添加以下代碼,以實作每天的10:50分自動執行savemysql.sh代碼

50 10 * * * /root/savemysql.sh