Synchroniser vos ordinateurs
Sommaire
Garder votre ordinateur portable synchronisé
Depuis que j'ai acquis un ordinateur portable, je me suis mis en quête d'une solution pour garder les données du portable avec mon ordinateur de bureau, et vice versa.
On ne peux tout simplement copier une image du système pour de nombreuses raisons.Certains fichiers doivent être différent, et parfois il y as une mise à jour sur un ordinateur, parfois sur l'autre.
Solutions
Unison
URL: Unison
http://caml.inria.fr/about/successes-images/unison.jpg
Ceci est ma solution préféré, et je l'adore. J'ai testé plusieurs outils, mais celui-là les bats tous. Il est simple à configurer tout en restant flexible et sécurisé.
Vous devez avoir SSH et Unison installés sur les deux ordinateurs. Et alors, avec quelques commandes simples, vous pouvez garder synchronisé des répertoires. Avec l'outil graphique, vous pouvez choisir quel fichiers désirez vous garder syncro et lesquels non. Vous pouvez également résoudre certains conflits.
J'utilise les scripts suivant:
~/.unison/electra.prf (Mon ordinateur portable)
root = /home/hugo root = ssh://pyros//home/hugo follow = Path school include common
~/.unison/pyros.prf (Mon ordinateur de bureau)
root = /home/hugo root = ssh://electra//home/hugo follow = Path school include common
~/.unison/common
ignore = Regex .*(cache|Cache|te?mp|history|thumbnails).* ignore = Name sylpheed.log* ignore = Name unison.log ignore = Name .ICEauthority ignore = Name .Xauthority ignore = Path {.songinfo,.radinfo} ignore = Path .adesklets ignore = Path .Azureus ignore = Path .forward ignore = Path adesklets ignore = Path .ethereal ignore = Path .sheep ignore = Path .xinitrc ignore = Path .config ignore = Path .xscreensaver ignore = Path .xawtv ignore = Path .radio ignore = Path .forward ignore = Path .dc++ ignore = Path .quodlibet ignore = Path .tvtime ignore = Path .config/graveman ignore = Path .xmodmap ignore = Path .java ignore = Path .tvlist* ignore = Path .thumbnails ignore = Path .ssh ignore = Path .viminfo ignore = Path .vim/tmp ignore = Path Desktop ignore = Path .wine* ignore = Path motion ignore = Path src/ufobot/test_pipe ignore = Path tmp ignore = Path local ignore = Path books ignore = Path .mozilla/firefox/*/Cache* ignore = Path .liferea/cache ignore = Path .liferea/mozilla/liferea/Cache ignore = Path .sylpheed-*/*.bak ignore = Path .sylpheed-*/folderlist.xml* ignore = Path .liferea/new_subscription ignore = Path .mozilla/firefox/pluginreg.dat ignore = Path .mozilla/firefox/*/lock ignore = Path .mozilla/firefox/*/XUL.mfasl ignore = Path .mozilla/firefox/*/xpti.dat ignore = Path .mozilla/firefox/*/cookies.txt ignore = Path .xbindkeysrc ignore = Path .unison/ar* ignore = Path .gaim/icons ignore = Path .gaim/blist.xml ignore = Path .asoundrc ignore = Path .maillog ignore = Path .openoffice2/.lock
Comme vous pouvez le constater, j'utilise deux profiles différent, un lorsque je lance unison depuis l'ordinateur portable, et l'autre lorsque je lance le programme depuis l'ordinateur de bureau. J'ai mis ces fichiers comme exemples, ils ne sont nullement essentiel.
J'ai également fait des alias bash, afin d'exécuter la synchronisation rapidement:
alias unisync="unison-gtk2 electra -contactquietly -logfile /dev/null"
Signifiant que j'utilise le profil 'electra' lorsque j'exécute le logiciel depuis mon ordinateur portable.
J'ai également une ligne dans ~/Destkop/autostart pour automatiser le processus lorsque je suis chez moi et que je désire syncroniser l'ordinateur portable:
xterm -e 'ping -q -W 2 -c 2 pyros && unison-gtk2 electra -contactquietly -logfile /dev/null && gxmessage -buttons no:0,yes:1 Syncing done. Shutdown pyros? || ssh pyros sudo halt' &
Mise en garde
- Vous pouvez également utiliser ce programme qui requiert un partage réseau nfs, mais je le trouve plus lent, car l'utilisation de ssh demande l'autre coté (ordinateur) des vérifié les mises-à-jours, et donc aucune ressource réseau n'est requise dans cette tâche de la synchronisation.
- Si vous utilisez ssh sur un port autre que le 22, 1022 par exemple, mettez ceci dans votre fichier de configuration: sshargs = -p 1022
- Si vous utilisez des lien symboliques et que vous voulez les synchroniser sur un système de fichier vfat (tel qu'une clé usb), unison ne les acceptera pas et générera des erreurs. Vous ne pouvez simplement dire à unison que vous n'êtes pas intéressé par les liens symboliques, vous devez les indiquer tous. Pour les lister, vous pouvez utiliser ceci: find ~/dossier -type |
.
rdiff-backup
J'utilisais cet outil avec le script de sauvegarde suivant:
#!/bin/sh mount /bak #mount /boot mount /mnt/win rdiff-backup \ --exclude-regexp 'cache$' \ --exclude-regexp '(?i)/te?mp$' \ --exclude /mnt \ --exclude /vol \ --exclude /bak \ --exclude /usr/media \ --exclude /usr/media/misc \ --exclude /usr/lib \ --exclude /tmp \ --exclude /var/dl \ --exclude /var/spool \ --exclude /var/cache \ --exclude /proc \ --exclude /dev \ --exclude /sys \ / /bak/sys echo "----------------------------------------" echo " * Liste incrémentiel des fichiers à sauvegarder" echo "----------------------------------------" rdiff-backup --list-increments /bak/sys echo "" echo "----------------------------------------" echo " * suppression des sauvegardes de plus de 5 semaines" echo "----------------------------------------" rdiff-backup --force --remove-older-than 5W /bak/sys ##Forcer est nécessaire car: #Fatal Error: Found 2 relevant increments, dated: #Sat Apr 10 12:39:24 2004 #Sat Apr 17 04:15:01 2004 #If you want to delete multiple increments in this way, use the --force. echo "" echo "----------------------------------------" echo " * Utilisation du disque après la sauvegarde:" echo "----------------------------------------" df -h umount /bak #umount /boot umount /mnt/win