[Sauvegardes] Copie automatique de dossiers

Fermé
The Toto Messages postés 11 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 20 novembre 2006 - 18 nov. 2006 à 18:30
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 20 nov. 2006 à 11:12
Bonjour.

Etant novice sous Linux pourriez vous m'aider à réaliser une copie automatique de plusieurs dossiers pour en faire des sauvegardes journalières différentielles et des sauvegardes hebdomadaires complètes avec comme nom de répertoire la date ?

J'ai comme arborescence de répertoires :
\data\repertoire1
\data\repertoire2
\data\repertoire3

Chaque répertoire contient d’autres sous-répertoires

Donc :

1) Je voudrais réaliser des copies complètes hebdomadaire dans :
\data\backup\week\[date du jour]\

2) Je voudrais réaliser une copie différentielle journalière dans :
\data\backup\daily\[date du jour]\

3) Apres la sauvegarde complète hebdomadaire je voudrais supprimer les sauvegardes journalières.


Pour les planifications automatiques des actions je pense qu’il faut utiliser des cron.

Pour le script peut être faudrait-il un truc du style :

cp –R \data\repertoire1\ \data\backup\%date%\repertoire1
cp –R \data\repertoire2\ \data\backup\%date%\repertoire2
cp –R \data\repertoire3\ \data\backup\%date%\repertoire3

Mon problème c’est que je ne sais pas bien comment rédiger le script, je ne sais pas non plus trop comment l’exécuter et comment réaliser le cron (Pour le cron je n’ai pas encore cherché).

De plus la commande %date% je ne fonctionne pas : Il me créé un répertoire qui s’appel « %date% » au lieu de mettre vraiment la date.

Tous vos conseils seront donc les bienvenus.

Merci

Toto
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
20 nov. 2006 à 11:12
Salut,

Tu devrais regarder du côté de la commande "rsync" pour tes sauvegardes (man rsync pour de plus amples informations).

Quant à la date pour la création d'un répertoire y faisant référence un ch'tit truc du genre devrait le faire :
if [ ! -d data/backup/week/$(date +%d-%b-%Y) ]
then mkdir -p  data/backup/week/$(date +%d-%b-%Y) 
fi
Mais bon si tu utilises "rsync", cette étape ne sera pas nécessaire. Par exemple pour la création d'une sauvegarde de ton répertoire "data" et de ses sous-répertoires à l'exception du répertoire "backup", voilà ce que pourrait donner la commande :
rsync -cavz --exclude "backup/" data/ data/backup/week/$(date +%d-%b-%Y)
;-))
1
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 507
18 nov. 2006 à 21:34
Salut,

1er conseil :
man bash

2ème conseil
man find

regarde du coté de mtime, cela peux aider pour les incrémentales ou
différentielles
3ème conseil
man tar

très utile surtout avec la compression : permet de créer une archive, de lister
le contenu d'une archive et d'extraire tout ou partie des fichiers d'une archive.
Tar peut utiliser une liste de fichiers (à insérer dans une archive) qui provient
de l'entrée standard...

Pour la date, après avoir regardé la page du manuel, détermine le format de
ta date aaaammjj est un format préférable car les nom de dossiers ou de fichiers
sont facilement triables
essaie dans un script bash
#!/bin/bash
date_du_jour=`date +%Y%m%d`
echo $date_du_jour

Pour faire ce script, crée un fichier avec ton éditeur de texte préféré que tu
nommes (par exemple) date_du_jour.sh
Tu enregistres ton fichier en quittant ton éditeur. Puis tu ajoutes les droits
d'éxécution dans une fenêtre de commande:
cd le_dossier_ou_est_le_script
chmod +x date_du_jour.sh

Puis dans la même fenêtre de commande
./date_du_jour.sh


Est de mon avis que tu devrais trouver un site qui introduit la programmation
bash sous linux : google est ton ami pour ça.

Autre info, il faut mieux mettre tes sauvegardes sur un autre disque.

A+, crabs
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
19 nov. 2006 à 10:01
Salut,

pour editer crontab utilise la commande
crontab -e
Ex
pour exécuter le script chaque dimanche à 07h00
0 7 * * 0 /chemin/vers/script.sh
man crontab et man 5 crontab

lami20j
0
The Toto Messages postés 11 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 20 novembre 2006
20 nov. 2006 à 01:56
Merci.

Je vais continuer mes chercher. Lorsque j'aurais trouver je posterais mon script et la conf pour les sauvegardes.

Si quelqu'un l'a déjà fait je suis ouvert à toute exemple (Ce n’est pas que j'aime qu'on me mâche le boulot mais c'est quand même plus simple à comprendre avec des exemples concrets)

Bye.

Toto
0