#!/bin/bash #Auto Backup linux system Files SOURCE_DIR=( $* ) TARGET_DIR=/data/backup/ YEAR=`date +%Y` MONTH=`date +%m` DAY=`date +%d` WEEK=`date +%u` A_NAME=`date +%H%M` FILES=system_backup.tgz CODE=$? if [ -z "$*" ];then echo -e "\033[32mUsage:\nPlease Enter Your Backup Files or Directories\n-----------------------------\n\nUsage: { $0 /boot /etc}\033[0m" exit fi #Determine whether the Target Directory exists if [ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY echo -e "\033[32mThe $TARGET_DIR Created Successfully !\033[0m" fi #EXEC Full_Backuo Function Command Full_Backup() { if [ "$WEEK" -eq "7" ];then //判斷日期爲週日 rm -rf $TARGET_DIR/zzxtbl cd $TARGET_DIR/$YEAR/$MONTH/$DAY;tar -g $TARGET_DIR/zzxtbl -czvf $FILES ${SOURCE_DIR[@]} [ "$CODE" == "0" ]&&echo -e "--------------------------\n\033[32mthess Full_Backup System Files Backuo Successfully !\033[0m" fi } #PERform incremental BACKUP function Commad Add_Backup() { if [ $WEEK -ne "7" ];then cd $TARGET_DIR/$YEAR/$MONTH/$DAY;tar -g $TARGET_DIR/zzxtbl -czvf $A_NAME$FILES ${SOURCE_DIR[@]} [ "$CODE" == "0" ]&&echo -e "--------------------------\n\033[32mthes Add_Backup systemFile $TARGET_DIR/$YEAR/$MONTH/$DAY/${YEAR}_$A_NAME$FILES Backup Successfully !\033[0m" fi } sleep 3 Full_Backup;Add_Backup
顯示效果linux
週一到週六 增量備份
bash
周七 全量備份ide
要把腳本優化到最佳效果,能夠加上郵件通知等功能;優化