[Sauvegardes] Copie automatique de dossiers
The Toto
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- [Sauvegardes] Copie automatique de dossiers
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Copie cachée - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Super copie - Télécharger - Gestion de fichiers
4 réponses
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 :
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) fiMais 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);-))
Salut,
1er conseil :
2ème conseil
regarde du coté de mtime, cela peux aider pour les incrémentales ou
différentielles
3ème conseil
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
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:
Puis dans la même fenêtre de commande
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
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
Salut,
pour editer crontab utilise la commande
pour exécuter le script chaque dimanche à 07h00
lami20j
pour editer crontab utilise la commande
crontab -eEx
pour exécuter le script chaque dimanche à 07h00
0 7 * * 0 /chemin/vers/script.shman crontab et man 5 crontab
lami20j
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
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