103 lines
3.4 KiB
Bash
103 lines
3.4 KiB
Bash
#!/bin/ksh
|
|
|
|
#@(#)##############################################################
|
|
#@(#) name: sauvegarde.ksh
|
|
#@(#)
|
|
#@(#) Description : Sauvegarde et compression du dossier selectionné puis déplacement de l'archive dans le dossier
|
|
#@(#) de sauvegarde
|
|
#@(#)
|
|
#@(#)---------------------------------------------------------------------------
|
|
#@(#)
|
|
#@(#) Auteur : Kevin GRANDFOND
|
|
#@(#)
|
|
#@(#) Date de création : 13/05/2019 08:00
|
|
#@(#)
|
|
#@(#)---------------------------------------------------------------------------
|
|
#@(#) Modifications
|
|
#@(#)
|
|
#@(#) 13/05/2019 16:45 Modification du fichier de sortie contenant uniquement le timestamp et non la date.
|
|
#@(#) 15/05/2019 16:15 Modification du nom de fichier <timestamp>_<nomdossier> au lieu de <nomdossier>_<timestamp>
|
|
#@(#) pour plus de clarté dans l'affichage des archives.
|
|
#@(#)
|
|
#@(#)##############################################################
|
|
|
|
#EFFACEMENT DE L'ECRAN
|
|
clear
|
|
|
|
echo "### DEBUT DU SCRIPT SAUVEGARDE.KSH ###"
|
|
echo "$(date "+%d/%m/%Y %H:%M:%S")"
|
|
echo "######################################"
|
|
|
|
#VARIABLES
|
|
annee="$(date +'%Y')"
|
|
mois="$(date +'%m')"
|
|
jour="$(date +'%d')"
|
|
heure="$(date +'%H')"
|
|
minute="$(date +'%M')"
|
|
seconde="$(date +'%S')"
|
|
|
|
HORODATE=$jour$mois$annee
|
|
TIMESTAMP=$heure$minute$seconde
|
|
|
|
#PARAMETRAGE DES DOSSIERS SOURCE ET DE DESTINATION
|
|
|
|
#dossier_source=/drives/c/Users/a15849
|
|
dossier_source=$1
|
|
AFF_LOG=$2
|
|
|
|
|
|
if [[ ${dossier_source} -eq 0 ]]; then
|
|
{
|
|
echo "Erreur : le chemin de sauvegarde n'a pas ete precise en argument du script!"
|
|
exit 1
|
|
}
|
|
else
|
|
{
|
|
if [[ -d ${AFF_LOG} ]]; then
|
|
{
|
|
echo "Erreur : vous n'avez pas precise en argument l'activation des logs ! 0 ou 1 !"
|
|
exit 1
|
|
}
|
|
fi
|
|
|
|
echo "Chemin à sauvegarder: ${dossier_source}"
|
|
|
|
dossier_destination=/home/Save/${HORODATE}
|
|
|
|
nom_archive=${TIMESTAMP}_$(basename ${dossier_source}).tar.gz
|
|
|
|
cd ${dossier_source}
|
|
|
|
mkdir -p ${dossier_destination} 2>/dev/null
|
|
|
|
if [[ ${AFF_LOG} == '1' ]]; then
|
|
{
|
|
#Affichage du contenu du dossier source
|
|
echo "------------------------------------------------------------------------------"
|
|
echo 'Liste des fichiers du dossier Source' ${dossier_source}
|
|
echo "------------------------------------------------------------------------------"
|
|
ls -ltrh ${dossier_source}
|
|
echo "------------------------------------------------------------------------------"
|
|
echo "La sauvegarde du dossier ${dossier_source} est en cours..."
|
|
echo "------------------------------------------------------------------------------"
|
|
#test d'une création d'un TAR
|
|
tar cvf - --exclude '*save*' --exclude='a_purger/*.*' * | gzip -cv > ${nom_archive}
|
|
}
|
|
else
|
|
{
|
|
echo "------------------------------------------------------------------------------"
|
|
echo "La sauvegarde du dossier ${dossier_source} est en cours..."
|
|
echo "------------------------------------------------------------------------------\n"
|
|
#test d'une création d'un TAR
|
|
tar cf - --exclude '*save*' --exclude='/a_purger/*.*' * | gzip -c > ${nom_archive}
|
|
}
|
|
fi
|
|
|
|
mv ${nom_archive} ${dossier_destination}
|
|
echo "------------------------------------------------------------------------------"
|
|
echo "La Sauvegarde du chemin ${dossier_source} a ete effectuee avec succes dans le fichier ${nom_archive} et deplacee dans ${dossier_destination}"
|
|
echo "------------------------------------------------------------------------------"
|
|
echo "### FIN DU SCRIPT SAUVEGARDE.KSH ###"
|
|
}
|
|
fi
|
|
exit 0 |