一、文件備份腳本shell
功能:利用此腳本要以對系統中的文件、目錄進行備份,備份後的文件以gzip方式壓縮,並以日期來標記備份日期,把備份的文件或目錄的名稱記錄下寫入日誌文件,以便查看。bash
腳本內容以下服務器
#!/bin/sh #Description: This shell script backup point file to target by date. #Author: Jason #Time: 2015-2-26 #Version: 1.0 #Processname: backupfile.sh #SYNOPSIS # sh script source-file target-directory #example #sh backupfile.sh /etc /backup 表示備份/etc這個目錄到/backup中 #聲明一些變量 DATE=$(/bin/date +%Y%m%d) SOURCE=$1 #備份目錄 TARGET=$2 #數據的備份目標 BASENAME=$(basename "$1") DIRNAME=$(dirname "$1") #檢查備份目錄是否存在,不存在則是建立 /usr/bin/test -d $2 || /bin/mkdir -pv $2 cd $DIRNAME #開始備份操做 echo -n "正在備份$1..." /bin/tar -cpPf /$2/$BASENAME.$DATE.tar $BASENAME 1> /dev/null 2>> /$2/$BASENAME.back.log /bin/gzip /$2/$BASENAME.$DATE.tar if [ $? -eq 0 ];then echo "backup directory or file is $1" >> /$2/$BASENAME.back.log #聲明備份的數據是什麼 echo "$1 $DATE backup successfully" >> /$2/$BASENAME.back.log echo -e "\e[1;32m\t\t\t\t\t[成功]\e[0m" else echo "ERROR:failure $1 $DATE backup!" >> /$2/$BASENAME.back.log echo -e "\e[1;31m\t\t\t\t\t[失敗]\e[0m" fi
二、系統某服務監控腳本ide
功能:若一服務器上的一個服務因不明緣由不定時的死掉,或是因訪問壓力過大,或是其餘緣由致使,而又在此時不能中止服務過久,那寫一個腳原本監控此服務,當發現此服務器中止工做時,那就自動啓動之。
spa
腳本內容以下:日誌
#!/bin/sh #Description: This shell script monitoring a specify service,if it does not work,then start it. #Author: Jason #Time: 2015-2-26 #Processname: monitor.sh #Version: 1.0 Servicename=vsftpd Servicepid=$(/usr/bin/pgrep vsftpd) if [ "$Servicepid" != "" ];then echo "The $Servicename is running." else echo "The $Servicename is not running." /etc/rc.d/init.d/vsftpd start fi
總結:腳本雖好,但要結合crontab才能體現出它的自動化。crontab