2 votes

Synchroniser un répertoire entre OSX et Ubuntu

J'ai besoin d'un bon moyen de synchroniser un répertoire entre mon ordinateur portable OSX 10.6 et mon bureau Ubuntu. Dropbox serait évidemment un excellent choix, cependant le répertoire que je dois synchroniser est détenu par root sur les deux machines et corriger les autorisations perturberait la situation actuelle. Je pensais simplement écrire mon propre script en utilisant rsync (ce qui serait en effet amusant) mais je me demande s'il n'y a pas quelque chose de plus robuste disponible. J'ai entendu parler d'Unison, mais je ne sais pas grand-chose à ce sujet. Est-ce que ce serait une bonne option pour moi, ou pouvez-vous trouver quelque chose de mieux? Merci!

3voto

SteveCl Points 1655

Deux réponses simples, (et les mêmes que vous avez déjà mentionnées):

  1. Unison si vous voulez quelque chose qui 'fonctionne simplement'. A une belle interface graphique et vous pouvez facilement définir une tâche là-bas et l'appeler depuis la ligne de commande, un script, cron, etc. Je l'utilise pour synchroniser à la fois mon ordinateur portable et celui de ma femme avec nos répertoires utilisateur respectifs sur le bureau. C'est vraiment aussi simple que ça.

  2. rsync si vous voulez contrôler (presque) tous les aspects. Il y a beaucoup d'arguments qui vous permettent de respecter, modifier ou écraser les autorisations, les propriétaires par numéro ou par nom, etc. En fait, il y a rarement besoin d'un script complet; généralement vous devez juste trouver (par essais et erreurs) la meilleure combinaison d'arguments.

0voto

Yotus Points 164

Unison est une bonne solution si vous avez besoin de synchronisation bidirectionnelle et que vous voulez être en mesure de résoudre les conflits manuellement. Il prend note de ce qui a été synchronisé la dernière fois, donc il sait si un fichier a été modifié aux deux extrémités.

Si vous voulez une solution entièrement automatique en arrière-plan (par exemple depuis cron) et que vous avez une synchronisation purement unidirectionnelle, rsync peut être meilleur. Unison conserve des métadonnées complètes (dans ~/.unison) que vous n'avez pas besoin si vous faites une synchronisation unidirectionnelle.

Le fait que les deux extrémités soient possédées par root complique considérablement les choses, que vous utilisiez rsync ou Unison. Vous devrez utiliser sudo sur la destination pour obtenir un accès en écriture, mais vous ne voulez pas vous connecter en tant que root sur la source via ssh. À condition que la source soit entièrement lisible par tous, vous pourrez peut-être le faire en exécutant sudo rsync sur la destination et en donnant un utilisateur explicite non-root pour la source (user@host:...). Notez que vous pouvez utiliser l'authentification par clé publique et configurer le fichier authorized_keys de sorte que seul rsync puisse être utilisé avec cette clé.

Dans une situation, j'ai résolu cela en exportant l'ensemble du répertoire avec le démon rsync, ce qui permet un accès anonyme. Cela contourne évidemment les autorisations, mais mon véritable besoin était de produire un ensemble spécifique de propriétés et d'autorisations à l'extrémité de réception, et non de protéger l'extrémité source.

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