Thursday, March 30, 2017

Bash: Script - part 4: Archivieing in Dynamic Directory

#!/bin/bash
#
# used in arcive directory
YEAR=$(date +%Y)
MONTH=$(date +%m)
DAY=$(date +%d)
# used in arcive file name
TIME=$(date +%H%M%S)
# read files to be backed up
CONFIG_FILE=/homeb/d54712/sandbox/scripts/data.d/Files_To_Backup
# Base destination path (augmented with archive directory
BASE_DEST=/homeb/d54712/sandbox/scripts/data.d
 # Archive File name
AR_FILE=$TIME.tar.gz
# make archive directory
mkdir -p $BASE_DEST/$YEAR/$MONTH/$DAY
# Backup Destination
DESTINATION=$BASE_DEST/$YEAR/$MONTH/$DAY/$AR_FILE
# Redirect STDIN to $CONFIG_FILE
exec < $CONFIG_FILE
# Read each line in from STDIN ($CONFIG_FILE)
while read FILE_NAME
do
        if [ -f "$FILE_NAME" -o -d "$FILENAME" ]
        then
                # Store each line in variable
                FILE_LIST="$FILE_LIST $FILE_NAME"
        else
                echo
                echo "$(tput setaf 1)WARNING: $(tput setaf 3) <<$FILE_NAME>> $(tput setaf 4) does not exist $(tput setaf 7)"
                echo
        fi
done
# Back up portion
echo "Starting Archive..."
echo

sleep 1
tar -cvzf $DESTINATION $FILE_LIST 2> /dev/null
sleep 3
echo
echo "Archive File: $DESTINATION"
echo



# debug
#echo "FILE_LIST"
#echo "$FILE_LIST"
#echo "Year: $YEAR"
#echo "Month: $MONTH"
#echo "Day: $DAY"
#echo "Time: $TIME"
#echo "Configuration File: $CONFIG_FILE"
#echo "Base Destination: $BASE_DEST"
#echo "AR_FILE: $AR_FILE"
#echo "Archive File: $DESTINATION"






Result:







No comments:

Post a Comment