Synchroniser vos ordinateurs : Différence entre versions

De ArchwikiFR
m (Robot : Enlève modèles : Article summary link, Article summary end, Expansion, Article summary start, Article summary heading, Article summary text, Article summary wiki)
Ligne 1 : Ligne 1 :
{{Expansion}}
+
 
  
 
== Garder votre ordinateur portable synchronisé ==
 
== Garder votre ordinateur portable synchronisé ==

Version du 18 mars 2011 à 22:56


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