#!/bin/bash
###############################
#
#   Create easily backups of
#   files and directories
#
#   written by Martin Scharm
#     see http://binfalse.de
#
###############################

if [ $# -ne 1 ]
then
    echo "Usage: `basename $0` [FILE/DIR TO BACKUP]"
    exit 1
fi

if [ ! -r $1 ]
then
    echo "$1 is not readable"
    exit 1
fi

DATE=`date +"%F_%H-%M-%S"`
BACKUP=${1%/}_$DATE

function do_not_overwrite
{
    if [ -e $1 ]
    then
        out="$1 exists, please try again later..."
        for i in $(seq ${#out}); do echo -n 'v'; done; echo
        echo "$out"
        for i in $(seq ${#out}); do echo -n '^'; done; echo
        exit 1
    fi
}

if [ ! -d $1 ]
then
    do_not_overwrite $BACKUP
    cp $1 $BACKUP
else
    BACKUP=$BACKUP.tgz
    do_not_overwrite $BACKUP
    tar czf $BACKUP $1
fi

if [ $? -eq 0 ]
then 
    echo "DONE! BackUp to File: $BACKUP"
    exit 0
else 
    echo "FAILED!!"
    exit 1
fi  

