0
I Use This!
Activity Not Available

Project Summary

A proposSauvegarder régulièrement les données est un réflexe à avoir car le monde numérique peut être impitoyable: imaginez toutes vos photos depuis 5 ans disparaissant suite à un disque dur cassé !

Le mieux est d'automatiser cette tâche, aussi j'ai développé OBIRAN - Outil de Backup Incrémental en Ruby ('Obiran Kenobi, vous êtes notre seul espoir' (Princesse Leila, Starwars IV) ).

Ce script en langage Ruby permet d'effectuer des sauvegardes incrémentales en utilisant rsync, ssh et cp.

Rsync permet de synchroniser deux répertoires. ssh donne les accès à distance. cp -al est utilisé pour faire des copies de répertoires Hard-Link en anglais sans perdre trop de place.

PrincipeIncrémental ?Ce script est très fortement inspiré des idées de synchronisation trouvées sur les pages suivantes:

Backups using rsync par Kevin Korb Easy Automated Snapshot-Style Backups with Linux and Rsync par Mike Rubel

Le principe est de faire des sauvegardes incrémentales, c'est à dire ne sauvegarder que les différences d'un backup à l'autre. Ainsi la place consommée est bien moindre:

tifauve@einstein:~/backup/obiran/turing$ du -shc *
43G 20061016_170631
514M 20061016_204921
82M 20061017_205021
397M 20061018_200001
1,1G 20061018_202601
45G totalDans l'exemple ci-dessous, la première sauvegarde prend 43Go mais l'espace occupé par les suivantes est bien inférieure. Cela permet de faire des sauvegardes fréquentes et complètes souvent.

Un peu de magieToutefois, ce qui est reproché à l'incrémental en général est le risque de perdre la première sauvegarde sur laquel sont basées les autres. Que neni !

En effet dans notre cas on utilise la commande cp -al qui permet de faire des 'hard-link', similaires aux symlinks (le célèbre ln -s). A l'inverse des symlinks qui crée un lien vers un fichier, le hard-link (ln -li pour les intimes) crée deux liens vers un seul et même fichier: supprimer un lien n'a aucune incidence sur l'autre lien et le fichier.

La commande cp -al permet donc de dupliquer deux répertoires sans occuper de place supplémentaire. En reprenant l'exemple ci-dessus, on peut constater que les répertoires sont en fait presque de la même taille (le dernier est plus gros suite à des changements importants)

tifauve@einstein:~/backup/obiran/turing$ du -sh *
43G 20061016_170631
43G 20061016_204921
43G 20061017_205021
43G 20061018_200001
44G 20061018_202601Si le répertoire 'master' 20061016_170631 est supprimé, les autres répertoires conservent tout de même toutes les données.

Et Rsync dans tout ça ?Rsync permet de synchroniser les fichiers: c'est cette commande qui va gérer les différences entre deux fichiers d'un jour à l'autre. Si aucune différence (modification, ajout ou suppression) n'est trouvée alors le fichier n'est pas copié à travers le réseau

ConclusionL'association de ces deux commandes permet de faire des sauvegardes rapidement et en occupant un minimum de place.

Tags

backup ruby

In a Nutshell, obiran...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

MIT License
Permitted

Commercial Use

Modify

Distribute

Private Use

Sub-License

Forbidden

Hold Liable

Required

Include Copyright

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    search using multiple tags to find exactly what you need
  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    anyone with an Open Hub account can update a project's tags

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
   Spinner
Review this Project!
Sample ohloh analysis