13 votes

Synchronisation/sauvegarde à sens unique avec Unison

J'utilise l'outil de synchronisation Unison avec mes machines Mac OSX et Ubuntu 9.10 pour sauvegarder ma musique de Mac à Ubuntu. Le problème est que je veux que mon Mac soit la source et Ubuntu la cible, de sorte que la machine Ubuntu soit à tout moment une copie exacte du dossier Musique du Mac, mais que si je supprime quelque chose d'Ubuntu, il ne sera pas supprimé sur le Mac. J'ai regardé la documentation, mais cela me dépasse pour l'instant.

35voto

Richard Points 451

Utilisez unison -force :

Manuel :

Y compris la préférence -force root fait en sorte qu'Unison résolve tous les différends (même ceux qui ne sont pas conflictuels). ) en faveur de la racine. Ce change effectivement Unison d'un synchroniseur synchroniseur en un utilitaire de mise en miroir. Vous pouvez également spécifier -force newer (ou -force older ) pour forcer Unison à choisir le fichier avec la date la plus tardive. (antérieur). Dans ce cas, l'option -times doit également être activée. Cette préférence est remplacée par la forcepartial préférence. Cette préférence préférence ne doit être utilisée que si vous si vous êtes sûr de savoir ce que vous faites !

Par exemple (en utilisant le mode socket). Démarrez l'écouteur unison dans le répertoire où vous voulez être un miroir de quelque chose d'autre. Ciblez ce socket dans l'appel du client unison. Forcez les changements à être tous à UN SEUL CHEMIN depuis la racine donnée.

cd /target/mirror/directory
unison -socket 123456 &

Ailleurs ou sur le même hôte :

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/

2voto

Ricky Points 336

Bien que la réponse de TheToasterThatCould "fonctionne", veuillez noter qu'elle ne permet pas de sauvegarder correctement le système de fichiers Mac. "Fourchettes de ressources"

Alors que la version Mac OSX de rsync est consciente des fourches de ressources, les versions linux de rsync ne le sont pas (et ne le seront probablement jamais, car la version Apple de rsync est spécifique à OSX et ne présente pas ces fourches de ressources à rsync à l'autre bout d'une manière qu'une version non-OSX de rsync peut gérer). Le résultat de ceci est que les resource forks ne seront pas rsyncées entre les machines Mac et linux.

Certaines applications Mac utilisent des fourches de ressources pour stocker les données relatives à un fichier particulier. Si vous êtes certain que les fichiers que vous synchronisez n'ont pas besoin ou n'utilisent pas de resource forks, vous pouvez utiliser rsync.

Si vous voulez synchroniser les bifurcations de ressources, alors unison sera la meilleure approche car (selon la documentation d'unison) il peut synchroniser les bifurcations de ressources.

1voto

Un meilleur outil pour ce travail pourrait être rsync (vous devrez l'installer sur les deux ordinateurs). Je l'utilise pour synchroniser le dossier musical de mon ordinateur portable avec un serveur de fichiers domestique, ce qui est assez similaire à votre situation. rsync est spécialisé dans la mise à jour d'une copie miroir.

Une ligne de commande comme celle-ci pourrait être utile (en supposant que vous l'exécutez depuis Ubuntu) :

rsync -a --delete-before myMacMachineName:/MyMusic/ /mymusic/

Il est assez facile d'intervertir la ligne ci-dessus si vous voulez l'exécuter depuis votre Mac et pousser vers l'ordinateur Ubuntu au lieu de tirer.

0voto

Harman Points 780

FreeFileSync est une application open source qui est capable de mettre en miroir un répertoire. Il peut fonctionner pour une synchronisation unidirectionnelle ou bidirectionnelle ou en mode "contribution". Je peux dire qu'il peut faire le travail de Synctoy de Microsoft. FreeFileSync peut être utilisé librement sous Mac OS X, Linux et Windows.

-1voto

Jin Points 1

Actuellement, unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batch fonctionnera, où -batch n'indique aucune question

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X