Salut à tous !
Je sais que le sujet est déjà passé moult fois, mais je n'arrive pas à trouver une solution de sauvegarde. Au commencement, j'utilisais cp
. (En fait non, j'étais sous Windows, mais l'idée est la même).
Donc sur mon HDD externe de backup, je me retrouvais avec la structure suivante :
- Big'n'dirty backup (2012.10.07)
- Big'n'dirty backup (2012.11.22)
- Big'n'dirty backup (2012.11.28)
- …
C'est cool, intuitif, portable, compatible et méchamment simple. C'est aussi terriblement peu efficace, surtout quand je backup un home de 140Gio sur un disque de 320. (Et un autre de 160 juste au cas où).
J'ai donc investigué d'autres solutions telles que rsync, rdiff-backup ou d'autres trucs plus obscurs les uns que les autres, mais aucun ne m'a séduit. J'avoue envier le fonctionnement de Time Machine sur OS X. En gros, je cherche les points suivants :
- Sauvegarde sous forme d'arborescence. Non, je ne veux pas de .tar.diff ou d'autres trucs exotiques. Brancher mon disque dur sur une autre machine doit me permettre de lire la/les sauvegarde(s) sans nécessiter de logiciel spécifique
- Sauvegarde incrémentale. Parce que la déduplication à coup de liens durs, je pense que c'est lebien.
- Structure logique du genre
backup/yyyy.mm.dd/
, où la sauvegarde les sauvegardes plus anciennes sont facilement navigables, avec éventuellement un backup/current/ qui est un lien vers la sauvegarde la plus récente. - Gestion des liens durs/symboliques/magiques/whatever.
rdiff-backup
me balance plein d'erreurs concernant les liens durs. Un rapport de bug est ouvert depuis des années pour ça, avec un patch que j'ai essayé d'appliquer localement, mais sans succès.
Peut être que rsync propose de faire ça, mais je n'ai rien trouvé de bien clair. Je suis majoritairement avec mon portable en train de me balader partout et sans mon HDD de backup connecté en permanence donc pas besoin de système super-sophistiqué à coup de crons pour faire des minute-diff. Un petit utilitaire/script à lancer manuellement quand j'y pense est suffisant.
Quelle solution fiable et futur-proof avez vous à conseiller ?
Edit: J'ai choisi la solution d'Axone, avec en plus l'option --no-perms
car mon disque cible en NTFS ne gère pas les permissions ce qui empêchait la déduplication.
# backuppc
Posté par Xavier . Évalué à 2.
Tout est dans le titre.
Have Fun!
# rsync avec --link-dest
Posté par Axone . Évalué à 8. Dernière modification le 09 mars 2014 à 12:42.
Depuis 2 ans environ, j'utilise un script bash pour rsync, trouvé sur internet et modifié un peu par mes soins:
Il remplit toutes tes demandes, je le trouve fiable. Le script ci-dessus sert pour une connexion à distance sur un autre ordi à travers ssh, il faut donc juste un peu le simplifier pour du local.
J'ai le même script un peu plus étoffé, pour gérér plusieurs sources avec sauvegarde sur un NAS syno et envoi d'un rapport par mail.
PS : un lien pour expliquer l'option --link-dest
PS2 : le script est basique, je pense qu'il faudra "l'amorcer" au début, c'est à dire avoir les répertoires de créés, avoir une première sauvegarde dans le répertoire de destination, ainsi qu'un lien symbolique "current" sur la première sauvegarde.
[^] # Re: rsync avec --link-dest
Posté par Xinfe (site web personnel) . Évalué à 2.
J'ai regardé backupPC proposé avant, mais je dois reconnaître que ça me semble overkill pour mes besoins. Et puis découvrir après 40 minutes de tentative de configuration que pour choisir la destination, il faut créer un lien vers la "vraie" destination, je trouve ça moyen.
Donc le petit script rsync de quelques lignes, j'apprécie l'approche, d'autant plus qu'il est clair. Je vois voir pour "l'amorçage", mais je ne pense pas que ça soit compliqué :)
J'attends de voir si d'autres réponses tombent, mais celle-ci a ma préférence pour l'instant.
[^] # Re: rsync avec --link-dest
Posté par Zylabon . Évalué à 3.
Pour l’amorçage, il n'y rien de particulier à faire, si le paramètre --link-dest n'est pas valide il va juste l'ignorer.
C'est ce que j'utilise aussi.
Sinon pour les "exclude" j'ai préféré cette solution, du coup j'ai tout dans un seul fichier :
Please do not feed the trolls
[^] # Re: rsync avec --link-dest
Posté par Xinfe (site web personnel) . Évalué à 2.
Bon, il semble que les hard-links avec le backup précédent ne fonctionne pas.
Voici ma procédure de test pour vérifier que les liens durs sont bien supportés tant sur la source que la destination :
Voici le script (que j'ai très peu modifié) :
[^] # Re: rsync avec --link-dest
Posté par Axone . Évalué à 2.
Pourtant les liens durs fonctionnent entre les sauvegardes, c'est sur.
[^] # Re: rsync avec --link-dest
Posté par Xinfe (site web personnel) . Évalué à 1.
Pour l'instant, je fais un backup, je vérifierai cette histoire de hard-links plus tard.
Merci pour le script, je crois que c'est la solution que je vais adopter, avec la liste d'exclusion inline. :)
[^] # Re: rsync avec --link-dest
Posté par Axone . Évalué à 2.
Je viens de faire ton test, aucun problème : j'ai bien "Liens : 4" après la seconde sauvegarde.
[^] # Re: rsync avec --link-dest
Posté par Xinfe (site web personnel) . Évalué à 2.
Il se peut que j'ai trouvé le problème :
http://superuser.com/questions/165714/using-rsync-with-link-dest-from-hfs-to-ntfs
En gros, l'option
--archive
est trop spécifique car les fichiers doivent être strictement identiques (contenu et meta-données). Et ça coincerai au niveau des droits. Je réessaierai dès que possible (=ce soir) en prenant ça en compte.J'ai aussi vu qu'il peut y avoir des problèmes avec les timestamps qui peuvent être impécis à une seconde près, auquel cas il faut ajouter l'option
--modify-window=1
[^] # Re: rsync avec --link-dest
Posté par Xinfe (site web personnel) . Évalué à 1.
Alors, j'ai enfin pris le temps de faire mes tests, et le problème concerne les permissions :
J'ai donc ajouté l'option
--no-perms
et tout est hard-linké comme attendu.Merci en tous cas pour ce petit script, c'est exactement le genre de chose que je cherchais !
# Dirvish
Posté par Clement33 . Évalué à 1.
Dirvish ?
# Rsync toujours...
Posté par labiloute . Évalué à 1. Dernière modification le 10 mars 2014 à 21:34.
Salut à tous,
Dans le même esprit qu'Axone, j'ai écrit un script rsync dont le principe est le suivant :
La contrainte est d'avoir un répertoire de destination non vide la première backup. j'ai du faire cette vérification pour éviter qu'un éventuel répertoire CIFS mal monté déclenche une sauvegarde en local, ce qui pourrait rapidement saturé un disque local s'il n'est pas prévu pour. Créer un fichier bidon lors de la première sauvegarde suffit.
En le relisant je vois pas mal d'améliorations possible, mais jusqu'à présent ça m'a déjà pas mal rendu service.
Enjoy !
# Sans le HDD connecté en permanence
Posté par JGO . Évalué à 4. Dernière modification le 09 mars 2014 à 18:47.
Heureusement ! Ne le connecte que pour faire une sauvegarde (ou pour la récupérer) et garde-le entre temps en lieu sûr et loin du disque principal (p.ex. au travail ou dans un appartement différent). Un accident ou un vol ne doivent pas pouvoir affecter simultanément ton disque principal et sa sauvegarde (en dehors du moment de la réalisation de la sauvegarde).
[^] # Re: Sans le HDD connecté en permanence
Posté par Xinfe (site web personnel) . Évalué à 1.
C'est effectivement un bon conseil. En écrivant ça, je voulais dire qu'il n'est pas accessible en permanence comme peut l'être un disque réseau (ou un serveur plus classique).
# Éventuellement backintime
Posté par lolop (site web personnel) . Évalué à 3.
Une surcouche graphique aux outils standards, qui te rapprocheras du Time Machine.
http://backintime.le-web.org/
Perso j'utilisais, en ligne de commande, snapy (de William Dodé) qui est une surcouche à rsync - mais le lien tombe en 404 pour le moment: http://www.flibuste.net/libre/snapy
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.