====== Différences ======
Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
|
sauvegarde [2013/12/24 10:45] r.doiteau [Script] |
sauvegarde [2019/05/11 14:35] (Version actuelle) |
||
|---|---|---|---|
| Ligne 208: | Ligne 208: | ||
| ===== Déroulement de la sauvegarde et de la restauration ===== | ===== Déroulement de la sauvegarde et de la restauration ===== | ||
| + | |||
| + | == La Sauvegarde == | ||
| + | |||
| + | La sauvegarde se déroule en plusieurs étapes: | ||
| + | ==Initialisation et créations des différents dossiers et fichiers:== | ||
| + | __script_init.sh__: | ||
| + | Les dossiers crées sont: | ||
| + | -mnt/home => point de montage du FreeNas. | ||
| + | -mnt/sauvegarde/complete => la sauvegarde complète sera placée ici. | ||
| + | -mnt/sauvegarde/incrementale => les sauvegardes incrémentielles seront placées ici. | ||
| + | -mnt/sauvegarde/script => les scripts seront placés ici. | ||
| + | |||
| + | Le script Initialisation créer les fichiers scripts suivants dans le dossier mnt/sauvegarde/script: | ||
| + | |||
| + | {{::script.png|}} | ||
| + | |||
| + | __ConfNas.txt__: Contient l'adresse ip du serveur FreeNas et la où il est monté. | ||
| + | __sauvegarde.sh__: Programme principale de la sauvegarde qui fait appel au différents fonctions et variables nécessaires. Il contient également l'aide à l'utilisateur. | ||
| + | __script_conf.sh__: Inscrit dans le fichier ConfNas.txt la configuration du FreeNas (adresse Ip et point de montage.) | ||
| + | __script_listfichier.sh__: Lit le fichier de log et l'affiche. | ||
| + | __script_restauration.sh__: Fonctions et variables nécessaires à la restauration de la sauvegarde. | ||
| + | __script_sauvegarde.sh__: Fonctions et variables nécessaires à la sauvegarde. | ||
| ==== Fichier complet d'installation ==== | ==== Fichier complet d'installation ==== | ||
| {{::sauv.tar|}} | {{::sauv.tar|}} | ||
| + | |||
| + | ===== ReadMe ===== | ||
| + | |||
| + | <code=bash> | ||
| + | |||
| + | ################################################################## | ||
| + | # PROJET : SCRIPT DE SAUVEGARDE # | ||
| + | # FICHIER : README.txt # | ||
| + | # EQUIPE : M.BAILLEUL R.DOITEAU S.CHEVRIER M.CHANTELOUP # | ||
| + | ################################################################## | ||
| + | |||
| + | |||
| + | +------------------------------+ | ||
| + | |------- RESUME -------| | ||
| + | +------------------------------+ | ||
| + | |||
| + | Ce programme sauvegarde les répertoires utilisateurs tout les jours de façon incrémentale et fait une sauvegarde complète une fois par semaine. | ||
| + | Il envoie un mail à l'administrateur avec le détail de la sauvegarde. | ||
| + | |||
| + | |||
| + | +------------------------------+ | ||
| + | |------- SOMMAIRE -------| | ||
| + | +------------------------------+ | ||
| + | |||
| + | Installation | ||
| + | |_Prérequis | ||
| + | |_Installation du programme | ||
| + | Configuration | ||
| + | |_Configuration du programme | ||
| + | Utilisation | ||
| + | |_Usage | ||
| + | |||
| + | |||
| + | +------------------------------+ | ||
| + | |------- INSTALLATION -------| | ||
| + | +------------------------------+ | ||
| + | |||
| + | ---- Prérequis ---- | ||
| + | |||
| + | Il est nécessaire d'avoir un serveur de fichier (FreeNas), un serveur de sauvegarde (sous Debian 7) et des machines clientes (Windows 7 et/ou Debian 7) | ||
| + | Tout ceci dans le même réseau. | ||
| + | |||
| + | |||
| + | ---- Installation du programme ---- | ||
| + | |||
| + | - Télécharger le fichier sauv.tar | ||
| + | - Le décompresser avec la commande: tar xvf sauv.tar, il décompresse l'archive à l'emplacement du fichier sauv.tar. | ||
| + | - Allez dans PROJET_SAUVEGARDE. | ||
| + | - Lancer la commande: bash script_init.sh, il crée les dossiers et fichiers nécessaire au fonctionnement des sauvegardes et initialise l'environnement. | ||
| + | |||
| + | |||
| + | +------------------------------+ | ||
| + | |------- CONFIGURATION ------| | ||
| + | +------------------------------+ | ||
| + | |||
| + | ---- Configuration du programme ---- | ||
| + | |||
| + | - Pour lancer la configuration de la sauvegarde, lancer la commande: sauvegarde.sh -C -i "votre_ip_serveur" -m "votre_répertoire_source" | ||
| + | - L'installation à configurée crontab, de façon à ce que le script de sauvegarde soit lancé tous les jours. | ||
| + | - Pour modifier la fréquence ou pour desactiver la sauvegarde, il faut éditer /etc/crontab et commenter la dernière ligne ou la modifier en fonctions de la configuration souhaitée | ||
| + | |||
| + | |||
| + | +------------------------------+ | ||
| + | |------- UTILISATION --------| | ||
| + | +------------------------------+ | ||
| + | |||
| + | |||
| + | ---- Usage ---- | ||
| + | >sauvegarde.sh -h | ||
| + | |||
| + | Les options obligatoires : | ||
| + | |||
| + | |||
| + | -C , -i , -m , Configuration du serveur de fichier | ||
| + | [-i] XXX.XXX.XXX.XXX IP du serveur de fichiers | ||
| + | [-m] /rep Définit l'emplacement du répertoire source | ||
| + | |||
| + | |||
| + | -R, [-u],[-r],[-f],[-e],[-d], Restauration | ||
| + | [-u] user suivi du nom de l'utilisateur | ||
| + | [-r] repertoire suivi du nom du repertoire | ||
| + | [-f] fichier suivi du nom du fichier | ||
| + | [-e] .ext suivi de l'extension | ||
| + | [-d] date suivi de la date de récupération souhaité | ||
| + | |||
| + | |||
| + | -S, [-c] Sauvegarde des Répertoire personnels | ||
| + | [-c] force la sauvegarde complète | ||
| + | |||
| + | |||
| + | Exemple d'utilisation : | ||
| + | # Configuration du serveur de fichier | ||
| + | bash sauvegarde.sh -C -i 192.168.1.1 -m /mnt/vol0 | ||
| + | # Sauvegarde des répertoires utilisateurs | ||
| + | bash sauvegarde.sh -S | ||
| + | - Pour forcer une sauvegarde complete | ||
| + | bash sauvegarde.sh -S -c | ||
| + | # Restauration : | ||
| + | - De tous les fichier de l'utilisateur 'util1' avec l'extension .doc sauvegardé le 22/10/2013 | ||
| + | bash sauvegarde.sh -R -u util1 -f *.doc -d 10-22 | ||
| + | - Du repertoire personnel de util2 | ||
| + | bash sauvegarde.sh -R -u util2 | ||
| + | </code> | ||
| ===== Détails des différents scripts ===== | ===== Détails des différents scripts ===== | ||
| + | |||
| + | ==script_init.sh== | ||
| + | |||
| + | <code=bash> | ||
| + | #!/bin/sh | ||
| + | ################################################################## | ||
| + | # PROJET : SCRIPT DE SAUVEGARDE # | ||
| + | # FICHIER : script_init.sh # | ||
| + | # EQUIPE : M.BAILEUL R.DOITEAU S.CHEVRIER M.CHANTELOUP # | ||
| + | ################################################################## | ||
| + | |||
| + | |||
| + | REPSAVE=/mnt/sauvegarde | ||
| + | REPSAUVALL=$REPSAVE/complete | ||
| + | REPSAUVINC=$REPSAVE/incrementale | ||
| + | REPLOG=$REPSAVE/journal | ||
| + | REPSCRIPT=$REPSAVE/script | ||
| + | REPHOME=/mnt/home | ||
| + | |||
| + | ######################################################### CREATION REPERTOIRE ############################################################ | ||
| + | |||
| + | mkdir $REPSAVE | ||
| + | mkdir $REPSAUVALL | ||
| + | mkdir $REPSAUVINC | ||
| + | mkdir $REPLOG | ||
| + | mkdir $REPSCRIPT | ||
| + | mkdir $REPHOME | ||
| + | |||
| + | ############################################################## COPIE SCRIPT ############################################################## | ||
| + | |||
| + | cp ./data/script_sauvegarde.sh $REPSCRIPT/script_sauvegarde.sh | ||
| + | cp ./data/script_restauration.sh $REPSCRIPT/script_restauration.sh | ||
| + | cp ./data/script_conf.sh $REPSCRIPT/script_conf.sh | ||
| + | cp ./data/script_listfichier.sh $REPSCRIPT/script_listfichier.sh | ||
| + | cp ./data/sauvegarde.sh $REPSCRIPT/sauvegarde.sh | ||
| + | |||
| + | chmod 755 $REPSCRIPT/sauvegarde.sh | ||
| + | |||
| + | ################################################################ CRONTAB ################################################################# | ||
| + | |||
| + | echo "0 2 * * * root bash /mnt/sauvegarde/script/sauvegarde.sh -S" >>/etc/crontab | ||
| + | |||
| + | ################################################################ COMMANDE ################################################################ | ||
| + | |||
| + | echo "Pour renseigné l'adresse IP et le repertoire source de votre sauvegadre" | ||
| + | echo "Executez cette commande :" | ||
| + | echo "bash sauvegarde.sh -C -i (l'ip du serveur) -m (repertoire source)" | ||
| + | |||
| + | ################################################################## MSMTP ################################################################# | ||
| + | aptitude install msmtp -y --assume-yes | ||
| + | |||
| + | (echo "account default" | ||
| + | echo "tls on" | ||
| + | echo "host smtp.gmail.com" | ||
| + | echo "port 587" | ||
| + | echo "from doiteau.romain@gmail.com" | ||
| + | echo "auth on" | ||
| + | echo "user doiteau.romain" | ||
| + | echo "password ********" | ||
| + | echo "tls_starttls on" | ||
| + | echo "tls_certcheck on" | ||
| + | echo "tls_trust_file /etc/ssl/certs/ca-certificates.crt" | ||
| + | ) > /root/.msmtprc | ||
| + | |||
| + | ################################################################## PATH ################################################################## | ||
| + | |||
| + | varPATH=$PATH | ||
| + | echo "export PATH=/mnt/sauvegarde/script:$varPATH" >> /root/.bashrc | ||
| + | su | ||
| + | exit</code> | ||
| + | |||
| ==ConfNas.txt== | ==ConfNas.txt== | ||