#!/bin/bash
############################################
# Creation ou recuperation d'une archive tar
# Nom Procedure : tar-usage
#
# Date creation : 23/05/2023
############################################

# Def constantes
CREAT="-cvvf"
RECUP="-xvvf"

# Def variables
Ok=false
SRCE=""
DEST=""
NAME=""
STAT="incomplet"

# initial loop
until [ "$Ok" == "true" ]
do

	LDEST=${#DEST} ; LSRCE=${#SRCE}
        test="$(( $LDEST * $LSRCE ))"
        if [ $test == "0" ] ; then
		STAT="incomplet"
		Ok=false
	else
		STAT=Ready
        fi

	clear
	echo "Status        = "$STAT
	echo "Source        = "$SRCE
	echo "Destination   = "$DEST
	echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
	echo "Definir Source / Destination"
	echo "   S = Choisir Source"
	echo "   D = Choisir Destination"
	echo "   R = Run (execute) tar"
	echo "   X = Exit"
	echo ""
	read -p "Choix : " cde
	# Forcer cde en majuscule
	cde=$(echo -n $cde | awk '{ print toupper($0) } ' )
	err=""

	case $cde in
		S) read -p "Intro Repertoire Source : " SRCE
			if [ -d $SRCE ] ; then
				SRCE=$SRCE'/'
				SRCE=$(echo $SRCE | sed 's/\/\//\//')
			else
				echo $SRCE "n'est pas un repertoire valide"
				sleep 3
				SRCE=""
			fi ;;

		X) echo "----------------> Abort / End execute"
			echo ""
			exit ;;

		D) echo "List of the possible destinations"
			ls -l /opt/
			read -p "Intro Repertoire Destination : " XX
			DEST="/opt/"$XX
			if [ -d $DEST ] ; then
				DEST=$DEST'/'
				DEST=$(echo $DEST | sed 's/\/\//\//')
			else
				echo $DEST "n'est pas un repertoire valide"
	                         echo "Source / Destination incomplet(s) "
                                echo "Destinations possibles"
				ls -l /opt*
				sleep 3
				DEST=""
			fi ;;

		R) LDEST=${#DEST} ; LSRCE=${#SRCE}
			test="$(( $LDEST * $LSRCE ))"
			if [ $test == "0" ] ; then
				STAT="incomplet"
				Ok=false
				echo "Source / Destination incomplet(s) "
				sleep 3
			else
				Ok=true
				STAT=Ready
			fi ;;
	esac
done

CURDATE=$(date +%Y)"-"$(date +%m)"-"$(date +%d)
SIZSRCE=$(du -h $SRCE | tail -n 1 | cut -d $'\t' -f1)
   echo "Date courante          : "$CURDATE
   echo "Repertoire source      : "$SRCE" Taille : "$SIZSRCE
   echo "Repertoire destination : "$DEST
read -p "Postfix Nom archive    : " NAME
DESTNAME=$DEST$CURDATE"-"$NAME
echo "Nom complet archive    : "$DESTNAME
read -p "Lancer la creation archive (Y/N) : " cde
cde=$(echo -n $cde | awk '{ print toupper($0) } ' )
if [ $cde == "Y" ] ; then
	echo "Depart archivage : "$(date)
	t0=$(date +%s)
	tar $CREAT $DESTNAME.tar $SRCE > $DESTNAME.lst
	t1=$(date +%s)
	echo "Duree en secondes = ""$(( $t1 - $t0 ))"
	echo ""
else
	echo "----------------> Abort / End execute"
	echo ""
fi

