文件備份、服務監控兩腳本整理

一、文件備份腳本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

相關文章
相關標籤/搜索