怎么通过shell脚本备份Linux系统

2016-12-02

Linux备份可以通过多种方法完成,那么你知道怎么通过shell脚本备份Linux系统吗?小编为大家分享了通过shell脚本备份Linux系统的解决方法,下面大家跟着小编一起来了解一下吧。

通过shell脚本备份Linux系统方法

脚本如下:

#!/bin/sh

#Automatic Backup Linux System Files

#Author wugk 2013-11-22

#Define Variable

SOURCE_DIR=(

$*

)

TARGET_DIR=/data/backup/

YEAR=`date +%Y`

MONTH=`date +%m`

DAY=`date +%d`

WEEK=`date +%u`

FILES=system_backup.tgz

CODE=$?

if

[ -z “$*” ];then

echo -e “Please Enter Your Backup Files or Directoriesn

nExample $0 /boot /etc 。”

exit

fi

#Determine Whether the Target Directory Exists

if

[ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then

mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY

echo “This $TARGET_DIR is Created Successfully !”

fi

#EXEC Full_Backup Function Command

Full_Backup()

{

if

[ “$WEEK” -eq “7” ];then

rm -rf $TARGET_DIR/snapshot

cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`

[ “$CODE” == “0” ]&&echo -e “nThese Full_Backup System Files Backup Successfully !”

fi

}

#Perform incremental BACKUP Function Command

Add_Backup()

{

cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;

if

[ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then

read -p “These $FILES Already Exists, overwrite confirmation yes or no ? : ” SURE

if [ $SURE == “no” -o $SURE == “n” ];then

sleep 1 ;exit 0

fi

#Add_Backup Files System

if

[ $WEEK -ne “7” ];then

cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}`

[ “$CODE” == “0” ]&&echo -e “nThese Add_Backup System Files Backup Successfully !”

fi

else

if

[ $WEEK -ne “7” ];then

cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`

[ “$CODE” == “0” ]&&echo -e “nThese Add_Backup System Files Backup Successfully !”

fi

fi

}

Full_Backup;Add_Backup

上面就是Linux使用shell脚本备份系统的方法介绍了,通过上面的脚本就能自动备份系统,但脚本可能还存在不足的地方,可自行改良优化。

更多相关阅读

最新发布的文章