Welcome 微信登录

首页 / 操作系统 / Linux / 使用SHELL脚本自动备份Linux系统

前段时间写的使用python脚本自动备份系统文件,今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。使用Python自动化备份系统及网站 http://www.linuxidc.com/Linux/2013-11/92457.htm直接上脚本如下:
#!/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 Directories -------------------------------------------- Example $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  "-------------------------------------------- These 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  "----------------------------------------- These 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  "------------------------------------------- These Add_Backup System Files Backup Successfully !"
 fi
fi
}
Full_Backup;Add_Backup以上脚本仅供参考,还有很多需要优化、完善和调整的地方,欢迎大家提出意见。相关阅读:自动备份脚本 Linux shell 第二版  http://www.linuxidc.com/Linux/2012-11/74219.htmLinux/Unix shell 脚本中调用SQL,RMAN脚本 http://www.linuxidc.com/Linux/2012-09/70310.htmLinux/Unix shell sql 之间传递变量 http://www.linuxidc.com/Linux/2013-01/78811.htmLinux命令之sleep - 延迟指定时间 http://www.linuxidc.com/Linux/2011-04/34758.htmLinux下Shell编程——sed命令基本用法 http://www.linuxidc.com/Linux/2013-06/85526.htm十个很少有人知道的 Linux 命令 - Part 3如何在Linux的桌面上创建快捷方式或启动器相关资讯      Linux Shell  Linux Shell脚本 
  • Linux基础知识:shell基础命令  (今 10:39)
  • Linux Shell脚本入门学习系列  (04月12日)
  • Linux Shell实现批量关闭局域网中  (03月10日)
  • Linux shell数组  (07月26日)
  • Linux系统监控shell脚本  (04月09日)
  • Linux shell脚本编程  (03月01日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数