Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un script de sauvegarde sur 5 point

Rsync sous linux

Sujet résolu
31 août 2010 à 10:11:17

Donc voici le script qu'il faut que je suppose devoir faire:
#!/bin/sh

 # Script de sauvegarde incrementale du repertoire /original sur la machine serveur

 # Ce script utilise l'outil de synchronisation rsync pour faire une image
 # globale du repertoire /original de la machine serveur dans le repertoire
 # /copie/main/ de la machine client. 
 # Les sauvegardes incrementales journalieres sont dans chacun
 # des repertoires identifies par la date dans le repertoire
 # /copie/old_data. Par exemple, le repertoire
 # 2004-11-25 contiendra les valeurs des fichiers a ce jour qui seront
 # recuperables.

 # Variable representant le jour de la sauvegarde
 JOUR=`date +%Y-%m-%d`

 # On cree le repertoire du jour et un fichier timer qui nous donnera
 # les heures de debut et de fin du transfert
 if [ -d "/media/DISQUEDUR/backup/old_data/$JOUR" ]
 then
   echo "Le repertoire /media/DISQUEDUR/backup/old_data/${JOUR} existe deja !";
 else
   mkdir /media/DISQUEDUR/backup/old_data/$JOUR;
 fi
 touch /media/DISQUEDUR/backup/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/DISQUEDUR/backup/old_data/$JOUR/timer
 echo "Heure de demarrage du transfert:" >> /media/DISQUEDUR/backup/old_data/$JOUR/timer
 date >> /media/DISQUEDUR/backup/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/DISQUEDUR/backup/old_data/$JOUR/timer

 # On lance le script rsync de transfert des fichiers
 /usr/local/bin/rsync -e ssh --force --ignore-errors  
          \ --delete --backup --backup-dir=/media/DISQUEDUR/backup/old_data/$JOUR -av /home/ 
          \ /media/DISQUEDUR/backup/main

 # On ecrit l'heure de fin dans le timer
 echo "Heure de fin du transfert:" >> /media/DISQUEDUR/backup/old_data/$JOUR/timer
 date >> /media/DISQUEDUR/backup/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/DISQUEDUR/backup/old_data/$JOUR/timer

 # On detruit les fichiers vieux de plus de 30 jours
 find /media/DISQUEDUR/backup/old_data/ -atime +30 -exec rm -rf {} \;


NON?
  • Partager sur Facebook
  • Partager sur Twitter
Dommage, impossible de mettre ma signature
31 août 2010 à 10:41:11

Non, il faut que tu indiques que les données tu vas les chercher en local si tu veux que le ssh sache où se connecter.
Un truc du genre:
/usr/local/bin/rsync -e ssh --force --ignore-errors
\ --delete --backup --backup-dir=/media/DISQUEDUR/backup/old_data/$JOUR -av 127.0.0.1:/home/
\ /media/DISQUEDUR/backup/main
  • Partager sur Facebook
  • Partager sur Twitter
31 août 2010 à 10:56:53

Bon en faisant ceci:
#!/bin/sh

 # Script de sauvegarde incrementale du repertoire /original sur la machine serveur

 # Ce script utilise l'outil de synchronisation rsync pour faire une image
 # globale du repertoire /original de la machine serveur dans le repertoire
 # /copie/main/ de la machine client. 
 # Les sauvegardes incrementales journalieres sont dans chacun
 # des repertoires identifies par la date dans le repertoire
 # /copie/old_data. Par exemple, le repertoire
 # 2004-11-25 contiendra les valeurs des fichiers a ce jour qui seront
 # recuperables.

 # Variable representant le jour de la sauvegarde
 JOUR=`date +%Y-%m-%d`

 # On cree le repertoire du jour et un fichier timer qui nous donnera
 # les heures de debut et de fin du transfert
 if [ -d "/media/Elements/backuptest/old_data/$JOUR" ]
 then
   echo "Le repertoire /media/Elements/backuptest/old_data/${JOUR} existe deja !";
 else
   mkdir /media/Elements/backuptest/old_data/$JOUR;
 fi
 touch /media/Elements/backuptest/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/Elements/backuptest/old_data/$JOUR/timer
 echo "Heure de demarrage du transfert:" >> /media/Elements/backuptest/old_data/$JOUR/timer
 date >> /media/Elements/backuptest/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/Elements/backuptest/old_data/$JOUR/timer

 # On lance le script rsync de transfert des fichiers
 rsync -e ssh --force --ignore-errors --delete --backup --backup-dir=/media/Elements/backuptest/old_data/$JOUR -av 127.0.0.1:/home/ /media/Elements/backuptest/main

 # On ecrit l'heure de fin dans le timer
 echo "Heure de fin du transfert:" >> /media/Elements/backuptest/old_data/$JOUR/timer
 date >> /media/Elements/backuptest/old_data/$JOUR/timer
 echo "---------------------------------" >> /media/Elements/backuptest/old_data/$JOUR/timer

 # On detruit les fichiers vieux de plus de 30 jours
 find /media/Elements/backuptest/old_data/ -atime +30 -exec rm -rf {} \;

Cela semble fonctionner.
3 questions:
  • Suis-je obliger de faire une synchro complète ou puis-je faire un copier coller de la sauvegarde que je faisais par l'ancienne méthode?
  • Y a t-il un moyen de détecter que mon disque dur est bien connecté à mon ordinateur.
  • Comment éviter de taper le mot de passe chaque fois dans le but d'automatiser la tache de synchronisation


Merci beaucoup pour ton aide.
lemirandais
  • Partager sur Facebook
  • Partager sur Twitter
Dommage, impossible de mettre ma signature
31 août 2010 à 11:05:21

* Suis-je obliger de faire une synchro complète ou puis-je faire un copier coller de la sauvegarde que je faisais par l'ancienne méthode?

Si tes répertoires existent déjà et contiennent les mêmes infos, il ne devrait pas faire de synchro complète.

* Y a t-il un moyen de détecter que mon disque dur est bien connecté à mon ordinateur.

Oui, tu peux faire un:
df -h |grep /dev/sda?
Puis faire un if sur $?

* Comment éviter de taper le mot de passe chaque fois dans le but d'automatiser la tache de synchronisation

Il faut utiliser des clefs RSA pour automatiser la connexion. C'est expliqué dans le tuto et il y a un tuto vidéo sur mon site.
  • Partager sur Facebook
  • Partager sur Twitter
31 août 2010 à 11:27:04

Citation : elalitte


* Comment éviter de taper le mot de passe chaque fois dans le but d'automatiser la tache de synchronisation

Il faut utiliser des clefs RSA pour automatiser la connexion. C'est expliqué dans le tuto et il y a un tuto vidéo sur mon site.


Je suis en train de le lire mais je ne vois pas ta video.
  • Partager sur Facebook
  • Partager sur Twitter
Dommage, impossible de mettre ma signature
20 septembre 2018 à 9:51:35

Bonjour, je debute et j'aurais besoin d'aide svp pour mieux comprendre.

Créer un script backupwhileread.sh
 Ce script procèdera à la création d’une sauvegarde de tous les fichiers du répertoire courant se
terminant par ".sh"
Valider que votre script est fonctionnel et qu’il respecte bien la consigne avant de réaliser les améliorations
suivantes :
 A l’issue de son exécution, seront ajoutés au fichier journal backup.log les informations suivantes :
o Horodatage de début du processus de sauvegarde
o Liste des fichiers sauvegardés avec succès et des échecs de sauvegarde
o Horodatage de fin du traitement
 A l’issue de son exécution le script affichera uniquement le nombre de fichier sauvegardé et le
nombre d’échec.

# cat ./backup.log
==========================
2015‐12‐25 00:05:36 DEBUT
==========================
demo.sh OK
creatuserslist.sh OK
creatusers.sh ECHEC
==========================
2015‐12‐25 00:05:39 FIN

  • Partager sur Facebook
  • Partager sur Twitter
20 septembre 2018 à 17:00:34

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet.

  • Partager sur Facebook
  • Partager sur Twitter