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

一、文件备份脚本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

相关文章
相关标签/搜索