#!bin/bash
#Automatic Backup Linux System Files
#By Author www.jfedu.net
#Define Variables
SOURCE_DIR=(
$*
)
TARGETDIR=/data/backup/
YEAR='date + %Y'
MONTH='date + %d'
WEEK='date + %u'
FILES=system_backuo.tgz
CODE=$?
if
[ -z $SOURCE_DIR]; then
echo -e "Please Enter a File or Directory You Need to Backup;\n------------------------------------------
----------------\nExample $0 /boot/etc ......"
exit
fi
#Determine Wether the Target Directory Exists
if
[! -d $TARGET_DIR/$YEAR/$MONTH/$DAY];then
mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY
echo "This $TARGET_DIR 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 " -----------------------------------------------------------------------
-\nFull_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 "$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 "--------------------------------------------------------
-\nAdd_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 "--------------------------------------------------------
-\nAdd_Backup System Files Backup Successfully !"
fi
fi
}
Full_Backup;Add_Backup