Solutions unidirectionnelles pour Linux
svn
Introduction à SVN :
http://dev.nozav.org/intro_svn.html
http://doc.ubuntu-fr.org/subversion
http://csoft.net/docs/svn.html.en
http://www.developpez.net/forums/d532390/general-developpement/conception/usine-logicielle/scm/subversion/suppression-depots/
http://demental.info/blog/index.php?post/2006/06/01/59-supprimer-un-projet-dans-un-depot-subversion
http://www.siteduzero.com/tutoriel-3-58147-creer-un-serveur-subversion.html
Problèmes
Un import svn ne garde pas la dernière date de modification des fichiers (cvs oui).
Il y a un script perl qui le permet :
http://svn.haxx.se/users/archive-2006-10/1345.shtml
Côté serveur
mkdir /home/charles/svn
cd /home/charles/svn
mkdir /home/charles/svn/genea
svnadmin create /home/charles/svn/genea
nano /home/charles/svn/genea/conf/svnserve.conf
anon-access = none
auth-access = write
Coté client
Pour importer une arborescence une première fois dans un projet (donc sur le serveur) :
svn import /home/charles/0/0En-cours/Genea svn+ssh://root@rn7.net/home/charles/svn/genea
cd /home/charles/ajeter
Pour créer une copie locale d'un projet :
svn checkout svn+ssh://rn7.net/home/charles/svn/genea
cd /home/charles/ajeter/genea
svn propset svn:ignore "*" ./lifelines
svn propset svn:ignore "*" ./test
svn propset svn:ignore "WFAMPROF.032" ./0winfam
svn propset svn:ignore "*.bak" ./
Publier des modifications :
svn commit ./
A tester côté client
svn add /home/charles/0/0En-cours/Genea svn+
ssh://root@rn7.net/home/charles/svn/genea
svn update
Intégration dans Nautilus
http://wiki.rabbitvcs.org/wiki/install/ubuntu
sudo add-apt-repository ppa:rabbitvcs/ppa
sudo apt-get update
sudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli
Rsync
rsync en ligne de commande :
http://blog.interlinked.org/tutorials/rsync_time_machine.html
- sauvegarde un répertoire ou synchronyse deux répertoires mais ne sauvegarde pas les modifications entre deux sessions
- PRO : famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination
- PRO : --partial permet de reprendre un transfert interrompu
- PRO : -P allows rsync to continue interrupted transfers and show a progress status for each file
- --link-dest this is a neat way to make full backups of your computers without losing much space. rsync links unchanged files to the previous backup (using hard-links, see below if you don't know hard-links) and only claims space for changed files. This only works if you have a backup at hand, otherwise you have to make at least one backup beforehand.
- CON : rsync really can't handle file renames properly - at all
- site officiel : http://rsync.samba.org/
- essayer : rsync -aP /home/charles/0/0En-cours charles@rn7.net:/home/charles/sync
- a : rlptgoD (no -H,-A,-X) = recursive, symlinks as symlinks, preserve permissions, preserve modification times, preserve group, preserve owner (super-user only), same as --devices --specials (preserve device files (super-user only), preserve special files)
- P : same as --partial --progress (keep partially transferred files, show progress during transfer)
Il est possible de réaliser de réaliser des sauvegardes incrémentales avec rsync mais cela demande un peu plus de travail.
http://blog.interlinked.org/tutorials/rsync_time_machine.html . Voici le script donné par Michael Jakl, à adapter :
#!/bin/sh
date=`date "+%Y-%m-%dT%H_%M_%S"`
HOME=/home/user/
rsync -azP \
--delete \
--delete-excluded \
--exclude-from=$HOME/.rsync/exclude \
--link-dest=../current \
$HOME user@backupserver:Backups/incomplete_back-$date \
&& ssh user@backupserver \
"mv Backups/incomplete_back-$date Backups/back-$date \
&& rm -f Backups/current \
&& ln -s back-$date Backups/current"
Grsync : interface pour rsync
rdiff-backup
rdiff-backup :
http://www.nongnu.org/rdiff-backup/index.html
- Using rdiff, a utility called rdiff-backup has been created, capable of maintaining a backup mirror of a file or directory either locally or remotely over the network, on another server. rdiff-backup stores incremental rdiff deltas with the backup, with which it is possible to recreate any backup point. See: http://en.wikipedia.org/wiki/Rsync
- PRO : the best features of a mirror and an incremental backup
- PRO : In most cases, the command rdiff-backup dir1 dir2 will work out-of-the-box to backup dir1 to dir2.
- rdiff-backup dir1 user@system::/dir2 will backup dir1 to dir2 on a different system (provided rdiff-backup is installed on both systems).
- PRO : rdiff-backup makes the backup directory into an almost exact copy of the source directory (the only difference is one extra subdirectory on the backup side)
- rdiff-backup saves those changes in the form of reverse diffs, so you can recover the older form of the file.
- rdiff-backup uses librsync, which implements the same efficient diffing algorithm that rsync uses. It works on binary files as well as text, so only a fraction of the data in your database would be saved in each incremental backup
- CON : rdiff-backup doit être installé sur le client et sur le serveur (dans le cas contraire voir duplicity)
- CON : rdiff-backup recommence à chaque backup interrompu :(
- Frontend pour rdiff-backup :
- Infrastructure de sauvegarde comprenant les bases Mysql, etc. : https://labs.riseup.net/code/projects/show/backupninja
- Pour sauvegarder plusieurs machines accessibles sur le réseau : http://www.delodder.be/blog/howto/slbackup-a-great-wrapper-for-rdiff-backup/
Pour les données personnelles
- rdiff-backup --check-destination-dir --include-special-files -v5 /home/charles/0/0En-cours charles@rn7.net::/home/charles/sync
- récupération : rdiff-backup -r now charles@rn7.net::/home/charles/sync /home/charles/0/0En-cours
- sshfs charles@rn7.net:/home/charles /home/charles/tmp
Pour les données professionnelles
- rdiff-backup -v5 --exclude /home/charles/0 --exclude /home/charles/.gvfs /home/charles/ /media/Sauvegarde2/zz-backup
- rdiff-backup -v5 --exclude /home/charles/0 /home/charles chn@ns39106.ovh.net::./backup
- rdiff-backup -v5 --exclude /home/charles/0 /home/charles root@ns39106.ovh.net::/home/chn/backup
duplicity
duplicity :
http://duplicity.nongnu.org/ et
http://doc.ubuntu-fr.org/duplicity
- PRO : Encrypted bandwidth-efficient backup using the rsync algorithm
- CON : les contenus sont encryptés
- duplicity is a variation on rdiff-backup that allows for backups without cooperation from the storage server, as with simple storage services like Amazon S3. It works by generating the hashes for each block in advance, encrypting them, and storing them on the server, then retrieving them when doing an incremental backup. The rest of the data is also stored encrypted for security purposes. http://en.wikipedia.org/wiki/Rdiff-backup#Variations
- duplicity --ssh-askpass -v5 /home/charles/0/0En-cours ssh://charles@rn7.net//home/charles/duplicity
Déjà Dup
Déjà Dup :
http://www.google.com/search?q=D%C3%A9j%C3%A0+Dup et
http://doc.ubuntu-fr.org/deja-dup
- "uses duplicity as the backend"
link-backup
link-backup :
http://www.scottlu.com/Content/Link-Backup.html
- Link-Backup is a backup utility that creates hard links between a series of backed-up trees, ...
- ... and intelligently handles renames, moves, and duplicate files without additional storage or transfer. ...
- ... Transfer occurs over standard i/o locally or remotely between a client and server instance of this script. Remote backups rely on the secure remote shell program ssh. Link-Backup comes with a web based viewer of the backups it makes.
- python lb.py /home/charles/0/0En-cours charles@rn7.net:/home/charles/lb
Bup
bup :
http://github.com/apenwarr/bup
- bluffant mais encore trop neuf
- uses the packfile format from git
- Data is "automagically" shared between incremental backups without having to know which backup is based on which other one - even if the backups are made from two different computers that don't even know about each other.
- bup compare des bouts de fichiers sans se préoccuper du nom des fichiers, il gère donc très bien :
- le renommage de fichiers
- les fichiers en double
- les fichiers identiques répartis sur plusieurs machines
- You can back up directly to a remote bup server, without needing tons of temporary disk space on the computer being backed up. And if your backup is interrupted halfway through, the next run will pick up where you left off.
- Even when a backup is incremental, you don't have to worry about restoring the full backup, then each of the incrementals in turn; an incremental backup acts as if it's a full backup, it just takes less disk space.
- You can mount your bup repository as a FUSE filesystem and access the content that way, and even export it over Samba.
- you don't have to specify that this backup is incremental, it just saves space automatically
Flyback
- Flyback 0.6 basé sur GIT : http://code.google.com/p/flyback/
- with Places/Bookmarks column and snapshots only when something changed
- Git cannot archive files that can't fit into main memory. So most large files are excluded from backups by default (in the preferences). Hopefully they will fix this bug soon.
Backintime
Timevault
- Restore functionality is integrated into Nautilus - previous versions of a file or directory that has a snapshot can be accessed by examining the properties and selecting the 'Previous Versions' tab.
- Snapshots don't use space for the files that haven't changed but instead simply add a link to the same data on disk.
- Timevault semble ne pas fonctionner sur Lucid, ce dernier étant fourni avec python2.6 et Timevault nécessitant python2.5. Voir ce rapport de bug sur Launchpad : https://bugs.launchpad.net/timevault/+bug/540283
Solutions bidirectionnelles
Subversion
Unison
- unison /home/charles/0/0En-cours ssh://charles@rn7.net//home/charles/unison
-fastcheck true
Meld
En mode comparaison de répertoire.
Solutions pour Windows :
Solutions multi-plateformes :
Services de stockage :
A explorer :
- pyBackPack : interface graphique au logiciel de sauvegarde + miroir incrémental rdiff-backup