文件备份、服务监控两脚本整理

1、文件备份脚本

功能:利用此脚本要以对系统中的文件、目录进行备份,备份后的文件以gzip方式压缩,并以日期来标记备份日期,把备份的文件或目录的名称记录下写入日志文件,以便查看。

脚本内容如下

#!/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


2、系统某服务监控脚本

功能:若一服务器上的一个服务因不明原因不定时的死掉,或是因访问压力过大,或是其他原因导致,而又在此时不能停止服务太久,那写一个脚本来监控此服务,当发现此服务器停止工作时,那就自动启动之。

脚本内容如下:

#!/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才能体现出它的自动化。

你可能感兴趣的:(备份,脚本)