arieugon
Re bonjour à tous.
Finalement j'ai écrit un script dont la documentation est ci-dessous, et dites moi ce que vous en pensez fonctionnellement.
OSER version 1.0
(Oser Sauvegardes Et Restaurations)
1) Principe
Il existe des logiciels de sauvegarde, qui ont leur utilité dans une
entreprise, mais je suis possesseur d'un portable et je souhaitais
pouvoir disposer d'un outil qui puisse me permettre de réaliser mes
sauvegardes quand je veux, sur un disque dur externe branché sur un
port USB par exemple. Donc je me suis ecrit un script qui corresponde
à mes besoins.
L'idée est de penser à la restauration. C'est à dire si le disque dur
de la machine est H.S. il faut pouvoir disposer de tout ce qui est
nécessaire pour pouvoir restaurer ses données sans souci. Et il faut
pouvoir le faire avec des commandes shell de base.
Plutôt que de créer une grosse archive (ce qui est tout de même pos-
sible) il suffit de créer un répertoire sur le disque destination qui
contiendra la sauvegarde que l'on souhaite réaliser. Par exemple il
est possible de créer un répertoire /etc dans lequel sera sauvegardé
la configuration système de la machine. Il suffit de l'installer dans
le répertoire en question. Voir ci-dessous comment procéder.
2)Installation
Copier oser dans le répertoire dans lequel vous souhaitez mettre
vos fichiers 'archive' (*.tar) qui contiendront la sauvegarde de vos
fichiers et dossiers.
Changer les droits du fichier oser pour qu'il soit executable, avec
la commande 'chmod 755 oser'.
Taper './oser -install' et un fichier 'aSauvegarder' et 'exclure'
seront créés car il servent au paramétrage du script. Ils seront
vides.
'aSauvegarder':
Il faut juste indiquer le chemin du dossier que l'on veut sauvegarder,
par exemple /home/mon-compte, ou /home/mon-compte/vidéos. Il ne doit
contenir qu'une seule ligne.
'exclure'
Si l'on souhaite exclure une partie de ce qui se trouve dans le chemin
indiqué par le contenu de 'aSauvegarder', il suffit d'y indiquer les
fichiers ou les dossier que l'on ne veut pas sauvegarder.
Si on veut exclure beaucoup de fichiers et/ou répertoires, il suffit
de taper 'ls -A1(chiffre un) $(cat aSauvegarder) > exclure'.
A condition que le fichier 'aSauvegarder' ne soit pas vide.
Votre fichier 'exclure' sera rempli de tous les fichiers et dossiers,
et il ne vous reste plus qu'à supprimer les lignes qui ne seront pas
exclues de la sauvegarde.
Exemple:
Si on veut sauvegarder /etc, mais que l'on ne veut pas sauvegarder les
dossiers 'dpkg', 'X11','bluetooth', ni les fichiers 'crontab' et fstab
(ce qui est une absurdité) les fichiers contiendront:
'aSauvegarder'
/etc
'exclure'
dpkg
X11
bluetooth
crontab
fstab
3) Utilisation
taper ./oser -h pour avoir l'aide et pouvoir l'utiliser.
4) Reserve
'oser' est fourni sans aucune garantie. C'est un logiciel libre et
vous pouvez le copier et le distribuer selon les conditions définies
par la General Public Licence (GNU).
Vous pouvez également le modifier à votre guise pour l'adapter à vos
besoins.
5) Contact
Je suis intéressé par la vie de ce script, et de ses éventuelles évolu-
tions. Pour tout contact, utilisez l'adresse suivante:
linux point mandriva arobase laposte point net.
Voilà ce que ça fait.
Linuxement ;O)
roger64
Bonjour
Désolé de ne pas encore avoir d'avis sur ton script.
Je rappelle que
rdiff-backup permet de faire la sauvegarde incrémentale d'un répertoire même en cours d'utilisation. Je signale à ceux qui sont intéressés par
rdiff-backup, qu'il existe aussi pour ce logiciel des interfaces graphiques qui en simplifient l'utilisation.
L'interface la plus perfectionnée est
keep qui fonctionne pour kde. Elle figure dans la documentation.
Gnome n'est pas tout à fait négligé puiqu'il existe un petit script sympathique, appelé
pybackpack.
Vous pouvez le trouver sous forme de deb dans les dépôts hardy universe.
+ Il permet de créer aisément une liste de répertoires à sauvegarder.
- Il ne dispose pas encore de fonctions intégrée de programmation dans le temps (genre cron). Il est donc lancé manuellement.
Bien qu'une entrée de menu appelée "File Backup Manager" soit créee dans le menu "administration" lors de l'installation de ce deb, j'ai obtenu les meilleurs résultats en le lançant avec la commande
sudo pybackpack
L'utilisation de ce script n'empêche pas une utilisation de rdiff-backup avec les commandes "normales" pour effectuer des opérations non inclues dans le script (exemple: supprimer les sauvegardes plus vieilles que t jours, etc..).
C'est vous qui voyez...
ArthurC
Je ne connais pas fcron pas mais c'est peut être dommage de réinventer la roue avant d'y jeter un oeil :
http://doc.ubuntu-fr.org/fcron
arieugon
Bonjour roger64 et ArthurC
Biensur il y a des outils tout ficellés. Faire des sauvegardes sans se préoccuper des restaurations, c'est selon moi un coup d'épé dans l'eau.
J'ai voulu réaliser un outil qui soit intégré à la sauvegarde et qui intègre en même temps la restauration. Car quant tu te retrouves avec ton disque en miette, il faut pouvoir restaurer à partir de ta source de sauvegarde avec les moyens du bord. Dans mon cas les moyens du bord font partie de la sauvegarde, donc pas de problème de restauration.
Mais on peut discuter à l'infini de tel ou tel outil de sauvegarde/restauration dont chacun répond à des problématiques différentes, pour des contextes d'utilisation différents. Je suis un particulier avec un ordinateur portable qui veut faire ses sauvegardes quand il veut (donc pas de cron) sur le support de son choix (clef USB, disque dur externe, etc.).
frcon, cron sont des lanceur de tâche et n'ont rien à voir avec les sauvegardes. Sauf à lancer un programme de sauvegarde à tel moment selon tel fréquence. C'est hors sujet.
rdiff-backup est effectivement super, et je vais certainement m'y intéresser de plus prêt. La contrainte est de pouvoir l'utiliser lorsque tout est planté. Ce qui veut dire que le programme rdiff-backup doit pouvoir être embarqué là où se trouve la sauvegarde et être utilisé pour restaurer. Sinon lorsque tu n'as plus rien comment restaures-tu ?
C'est à ce problème de restauration que j'ai voulu répondre, et je n'ai pas fait le tour de la question, mais quelque chose de satisfaisant fonctionne. Et c'est toujours ça. Je trouve ça rassurant de savoir qu'on pourra restaurer ses sauvegardes.
Linuxement ;O)
roger64
De la "bonne" stratégie de sauvegarde
Bonjour
Le souci de la restauration n'est bien sûr jamais éloigné de celui de la sauvegarde. C'est un peu comme Dupont et Dupond, l'un ne va pas sans l'autre 😛
Malheureusement, à ma connaissance, il n'existe pas encore sous Linux en 2008 de solution opensource "parfaite" permettant à la fois de restaurer si besoin est l'intégralité de l'image de partition tout en se contentant au jour le jour d'une sauvegarde incrémentale programmable. Il me semble que nous sommes donc contraints d'adopter une solution "mixte".
L'utilisateur soucieux de sauvegarder son système pourrait au mieux combiner les deux types de logiciel ci-dessous:
1. - Image disque
Le rescuecd, Clonezilla permettent de sauvegarder des images disques mais sans accepter les incréments.
C'est un type de sauvegarde "lourde", peu pratique à exécuter quotidiennement.
Les restaurations peuvent se faire notamment avec un live CD, genre rescueCD, SLAX LFI, Clonezilla etc...
Utilisation conseillée - tous les 15 jours par exemple , sauvegarder une image disque (j'utilise partimage avec CloneZilla qui me permet de sauvegarder trois partitions en une seule séance: durée environ une heure
2. - Répertoire(s) par incréments
rdiff-backup (et d'autres) permettent de faire des sauvegardes incrémentales.
C'est un type de sauvegarde "'légère" mais aussi partielle.
Si le système est planté, la restauration d'un répertoire peut poser problème. rdiff-backup peut cependant être lancé par exemple à partir du rescueCD ou à partir d'une autre distribution Linux installée sur le disque dur.
Utilisation conseillée - tous les jours par exemple, sauvegarder par incrément le ou les répertoires sensibles avec rdiff-backup (avec ou sans interface graphique): durée quelques minutes
***
En cas de gros pépin, restaurer d'abord l'image de la partition puis affiner si besoin est avec le répertoire journalier.
En cas de petit pépin, la restauration du répertoire journalier peut peut-être suffire.
EDIT:
Je dois cependant admettre que cette solution "mixte" n'est pas aujourd'hui à la portée des débutants, qui sont ceux ont le plus besoin d'une solide sauvegarde (même s'ils n'en sont pas tous conscients). Elle me semble pourtant la seule réaliste.
J'espère que les progrès permanents de Linux en matière de convivialité contribueront au fil des mois à alléger l'investissement personnel requis.
C'est vous qui voyez. 😉
ArthurC
Je n'avais pas lu la partie sur le 2e script. je parlais surtout du premier fait par le créateur du topic où la notion du temps était importante(toutes les semaines et à semaine+x jours si le pc a été eteint lors du jour de sauvegarde prévue). Donc le HS souligné tape dans le faux.
fetchy
ArthurC tu n'as pas tord, mais je ne connaissais pas encore fcron lorsque j'ai écrit le script, c'est pourquoi j'ai dû trouvé une solution de remplacement.
J'avais pourtant cherché à l'époque mais toutes les solutions de sauvegarde passaient par cron, qui ne faisait pas l'affaire pour moi (pb dans ce cas si le PC est éteint).
C'était également pour avoir des commentaires comme le tien et apprendre de nouvelles commandes que j'avais posté mon script ici donc je t'en remercie.
fetchy
Néanmoins,
un avantage de ma méthode sur l'utilisation de fcron est que si la sauvegarde est interrompue (fermeture de la session par exemple) alors la sauvegarde sera faîte à nouveau à l'ouverture de session suivante, et pas la semaine suivante dans le cas de l'utilisation de fcron.
arieugon
Bonsoir à tous et à roger64
Roger, je partage tout à fait ton point de vue.
Pour l'instant j'ai fait des images de mes partiitons, surtout pour le système. Lorsque j'ai une configuration stable avec une présentation qui me convient je crée une image avec Partimage. Lorsqu'une mise à jour de noyau est proposé, je fais toujours une image de ma partition système car j'ai déjà eu des problèmes, et c'est la seule façon de revenir en arrière sans tout réinstaller. Mais si le disque casse, c'est difficile d'utiliser les images car si la taille de la partition est plus petite (même, juste un tout petit peu) Partimage ne veux rien savoir.
En ce qui concerne les données, dans ma façon de travailler (particulier avec un portable), je veux juste faire des sauvegardes à la demande, quand JE veux, donc je me suis fais un script qui correspond à MON besoin.
Il faudrait trouver quelque chose qui ressemble à Partimage, mais qui permette de restaurer sur une partition plus petite, pour réinstaller son système sur un autre disque. Mais mon script pour les données fonctionne bien (40 Go de donnés sauvegardé dans un fichier tar), et il faudrait que je fasse un test au niveau du système.
D'ailleurs, rien ne m'empeche de faire le test car j'ai un autre disque dur et je vais faire l'expérience dès que j'ai un moment suffisament long ... Je vous tiendrais au courant.
Linuxement ;O)
roger64
bonjour
Il nous faut encore chercher. 😛
Si la sauvegarde sous Linux est techniquement au point, elle n'est pas encore vraiment facile pour l'utilisateur lambda.
Le fait d'avoir à utiliser deux types de logiciel pour obtenir une solution proche du "zéro défaut" me parait peu pratique. Et se contenter d'un seul type de logiciel est insuffisant.
Je suis d'accord avec toi sur le fait que l'intégration dans le logiciel de sauvegarde de la programmation dans le temps n'est pas indispensable. Linux dispose par ailleurs de beaucoup d'outils de programmation dans le temps.
Toutefois, sauf cas particulier, la taille de la partition d'accueil ne semble pas être une contrainte majeure.
- La restauration est le plus souvent utilisée pour "remettre les choses en place" sur la partition d'origine.
- Au cas où l'on restaurerait cette image sur une partition nouvelle, voire sur un nouveau disque, s' il faut sans doute veiller à ce sa taille soit au moins équivalente à celle de l'image sauvegardée, rien n'empêche ensuite de retailler la nouvelle partition après restauration.
rangzen
Pas mal vos pistes 🙂
Je suis en pleine restauration de 200Go paumé avec PowerFolder donc je cherche à améliorer mes sauvegardes. Actuellement, toutes les données importantes ont été restaurés grace à la façon dont je procède.
Mes données sont réparties sur une partition à part, je ne sauvegarde rien de mon home et les .xxxxx importants en /home/user sont en fait des liens vers ma partition de donnée.
Les données sont réparties dans plusieurs répertoires :
- agile : donnée qui change souvent (programmation, certaines conf, etc.) et qui ne sont pas privées (je publie mon code)
- dormante : données qui changent très peu et n'ont pas de caractère "trop" privées (photos, sauvegardes de jeux, etc.)
- jetable : données que je garde mais que je peux perdre (et que j'ai perdu ...) vidéo, musique, etc.
- privée : données privées (compte, lettres, généalogie, etc.)
- temporaire : téléchargement en cours, photos en trie, test, etc.
Actuellement, j'utilise :
- truecrypt pour chiffrer certaines parties de ce qui est synchronisé (privée). Cette partie est en fait un fichier chiffré monté dans le répertoire privee des disques de sauvegardes
- unison pour synchroniser (sauvegarder) certaines données (agile et privée) avec des disques
- jungledisk avec un compte S3 de Amazon pour dormante
jetable et temporaire ne sont jamais sauvegardé
Mes pistes d'améliorations sont un script avec GUI d'échange d'espace entre les PC de ma famille (tout le monde est en Linux) avec des disques Truecrypt monté à distances over SSH et la partie sauvegarde faites avec rdiff-backup.
J'envoie une requete avec ma clé publique chez mon frère, le programme crée un fichier chiffré de X Go et met en place l'accès SSH avec ma clé, cet accès ne permet que truecrypt et rsync. Je monte le disque à distance, rdiff, démontage, chiffrement.
Le truc le plus dur ? Une interface pour gérer les inclusions/exclusions. L'interface de Jungledisk est pour l'instant mon modèle ...
Si mon "modèle" vous interesse, je peux poster des liens et autres.
quicky
et vous avez pense a regarder du cote de unison (
http://doc.ubuntu-fr.org/unison) pour la gestion de synchro ?
apparemment ce soft est plutot repute et il gere le fait de se connecter sur un periph externe genre disque dur usb.
Avec l option mountpoint on est sur qu il ne casse pas tout en cas de deconnection intempestive du periph.
En plus de ça il est bidirectionnel et gere bien sur les fonctionnalites de bases comme l exclusion etc
PS : au temps pour moi unison vient tt juste d etre cite :rolleyes:
roger64
rangzen a écritLe truc le plus dur ? Une interface pour gérer les inclusions/exclusions. L'interface de Jungledisk est pour l'instant mon modèle ...
.../....
Si mon "modèle" vous interesse, je peux poster des liens et autres.
Bien sûr que c'est intéressant. L'idée de classer les données en fonction de leur durée de vie est excellente. De plus je n'ai aucune expérience sur les sauvegardes reseau ou nuage.
Questions; quel est le débit réel d'upload pour jungledisk ?, la facturation est-elle fonction du trafic ou du volume des données sauvegardées ?
En ce qui concerne ta question,
pybackpack gère très bien les inclusions et exclusions pour rdiff-backup. C'est même ce qu'il fait de mieux. Il existe dans les paquets Ubuntu. Il peut-être lancé avec ou sans sudo .
http://www.ubuntugeek.com/pybackpack-a-user-friendly-file-backup-tool-for-ubuntu-linux-desktop.html
J'utilise aussi truecrypt, mais un peu comme un "donjon", avec un tout petit volume chiffré qui est sauvegardé avec mon home. Mais naturellement, quand on veut sauvegarder dans le nuage, le volume crypté doit sans doute être plus important.
edit: volume au lieu de répertoire
rangzen
pybackpack ne semble pas gérer les exclusions de fichiers (*.*~) et les exclusions de répertoires (.svn), posterai les captures de jungledisk ce soir.
pour truecrypt en fait, je monte un fichier crypté dans les disques ou clé puis je synchronise donc sur mon disue c'est pas crypté, seulement le répertoire "privée" sur les médias amovibles.
roger64
Bonjour
Je ne suis pas sûr de comprendre ta réponse mais je ne suis pas un spécialiste. 😛
L'option "exclude from set" me permet par exemple d'exclure du répertoire de sauvegarde tout fichier ou sous-répertoire, même caché.
ou alors ce script qui sauvegarde le home sur un DD externe avec rsync mais qui n'offre rien de plus que l'utilisation de la ligne de commande et du man rsync
#!/bin/bash
rsync -av --delete --progress --stats --filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/" --filter "- .cache/" --filter "- .icons/dlg-etiquette/" /home/roger/ /media/Premier/save/rsync/home/
sed -i 's/DERNIERE SAUVEGARDE LE/Cette ancienne sauvegarde date du/g' /home/roger/sécurité/sauvegardes/sauv-home-log
echo "DERNIERE SAUVEGARDE LE $(date +%d-%m-%y\ à\ %H\ heures-%M\ minutes-%S\ secondes)" >> /home/roger/sécurité/sauvegardes/sauv-home-log
Enfin le choix du "nuage" comme emplacement de sauvegarde me fait penser à l'évolution actuelle du courrier électronique. Tout en conservant Thunderbird en "deuxième rideau" pour avoir une copie de mes mails en dur, j'utilise désormais gmail et son "nuage" gratuit de plusieurs gigas pour sauvegarder mes mails. L'accès devient universel, la confidentialité aussi. 😃
C'est un choix qui, évidemment, peut ne pas convenir à tout le monde, je le reconnais volontiers. Il suffit pour le compromettre durablement d'un simple keylogger placé sur l'ordinateur d''un cybercafé que vous avez utilisé pendant cinq minutes....
Il y a bien un outil sur gmail qui permet de savoir si le compte est utilisé depuis un autre site mais c'est une rustine pas une protection.
rangzen
Je veux pouvoir dire "ne sauve pas les répertoires .svn" et pas "ne sauvegarde pas /a/.svn, ni /b/.svn, etc.". Regarde la partie gauche de la capture.
Pour le "nuage", il faut voir plus grand. Le but est de dire "je partage n Go" et voilà les fichiers que j'ai a sauvegarder". Ensuite, le logiciel se démerde pour répartir entre les clients les fichiers, le nombre de copies, etc.
Il n'existe malheureusement que des projets universitaires ou des logiciels commerciaux Windows only ... mais ça c'est le top 😃
Voici quelques liens :
unison :
http://www.cis.upenn.edu/~bcpierce/unison/
truecrypt :
http://www.truecrypt.org
rsync :
http://rsync.samba.org
rdiff-backup :
http://www.nongnu.org/rdiff-backup/
Un que je viens de trouver :
http://duplicity.nongnu.org
roger64
Merci de tes liens, ça bouge partout. Le libre progresse.
Je vois qu'Ubuntu est vraiment en retard pour rsync, j'espère que Ibex y remédiera...
Duplicity qui va un peu plus loin que rsync pourra être intéressant avec les possibilités de cryptage, si ça ne ralentit pas trop la bête. A suivre.
Unison, c'est surtout si l'on a besoin de faire du bidirectionnel je crois ?
Je n'ai pas besoin du "nuage" pour le moment car j'ai en fait un disque dur externe USB 2 en rab. A titre info, j'ai fait une copie de mon disque interne (45 gigas de données sur cinq partitions dont une NTFS) en un peu moins de trente cinq minutes avec Clonezilla Live (sans compression). C'est le plus rapide que j'ai trouvé pour le moment. A faire périodiquement même si ça ne couvre évidemment pas 100% des besoins de sauvegarde.
rangzen
Je viens de jouer avec duplicity mais peux pas utiliser les disques Truecrypt donc, je pousse pas plus loin.
Plein de test avec rdiff et c'est pas mal du tout même si j'ai trouvé un bug quand il n'y a plus de place --check-destination-dir, TMPDIR, TMP et TEMP marche pas, le seul moyen est de donner de la place dans le répertoire de destination ... Mais après il retrouve ses petits.
J'ai trouvé
http://wiki.rdiff-backup.org/wiki/index.php/BackupToSshfsMount et
http://wiki.rdiff-backup.org/wiki/index.php/BackupToEncfsAcrossSshfs qui déconseille eux mêmes la soluce 🙂
J'ai jamais eu besoin de garder des versions donc je vais peut être finalement me tourner vers rsync.
rangzen
rangzen
Ok en fait c'est plus simple :
http://fixunix.com/ubuntu/342830-truecrypt-ext3-format.html
Avec la nouvelle version de truecrypt rajouter --text pour tout faire par la console, pas possible de démonter un container avec la GUI.
- créer le container
- démonter
- mkfs.ext2 ou celui que vous voulez
- chown vous:vous sur le . du répertoire monté
Voilà vous avez un container truecrypt en ext2 🙂
Avec un rsync sur un container monté avec sshfs, j'y suis presque 🙂