Files
Linux/Scripts/sauvegarde.ksh
T
2025-11-27 23:28:03 +01:00

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