Recherche d'une méthode basée sur rsync + ssh comme alternative à Dropbox

9

Je veux configurer une alternative Dropbox personnelle (c'est-à-dire un utilisateur) en utilisant rsync, pour garder certains répertoires synchronisés sur plusieurs hôtes Unix.

Étant donné qu'un seul utilisateur (à savoir moi) modifiera le contenu d'un hôte à la fois, il est prudent de supposer que ces modifications ne se chevaucheront pas dans le temps. Cela signifie que

  1. un décalage de 10 à 15 minutes entre la modification et la synchronisation est acceptable;
  2. le temps de modification devrait être un proxy raisonnablement bon pour la "version actuelle".

Tous les schémas rsync que j'ai rencontrés pour garder plusieurs serveurs synchronisés fonctionnent selon un calendrier de synchronisation une fois par jour, pour la sauvegarde, par exemple. De plus, dans ces schémas, typiquement, un hôte est le maître, et les autres le reflètent, alors que dans la situation que j'ai en tête, des changements peuvent se produire dans n'importe lequel des hôtes.

Quelqu'un peut-il m'indiquer un outil ou un guide sur la configuration de rsync + ssh pour faire ce genre de chose?

kjo
la source
1
syncthingpeut être?
Kusalananda

Réponses:

8

Pourquoi n'essayez-vous pas à l'unisson? Je ne sais pas exactement quels systèmes d'exploitation vous utilisez exactement, mais unison fera le travail. La syntaxe est assez simple, bien que vous puissiez la développer avec de nombreuses options:

~$ unison /path/to/dir1 /path/to/dir2

Ici vous pouvez trouver toutes les informations nécessaires.

Thorian93
la source
1
Page Web
X Tian
Merci! La principale raison pour laquelle je veux rester avec rsync + ssh est que je n'ai pas d'autorisations root sur certains des hôtes que je dois garder synchronisés. (Je suppose que je pourrais essayer d'installer à l'unisson hors de mon répertoire personnel pour ces cas ...)
kjo
1
Vous pouvez travailler à l'unisson avec différentes stratégies. Personnellement, je suggère d'utiliser un hôte auquel vous avez accès en tant que serveur de contrôle, où l'unisson s'exécute et vous synchronisez les hôtes distants à partir de celui-ci. Encore une fois, cela dépend de votre infrastructure.
Thorian93
4

Je peux recommander d'utiliser syncthing pour cela. Mon seul reproche, c'est qu'il fait parfois exploser l'utilisation du processeur, mais vous pouvez le contrôler via sa configuration complète. C'est vraiment rapide, mais pas aussi rapide que rsync + ssh.

Faites-nous savoir comment cela fonctionne pour vous, ce que vous ferez à la fin, car même si j'utilise actuellement la synchronisation avec succès pour un scénario d'utilisation similaire (à votre), je ne suis toujours pas sûr 'ai fait le bon choix.

Julius
la source
2

Vous pouvez utiliser rsync sur ssh. Il devra être exécuté dans les deux sens si des modifications ont été apportées sur les deux machines:

rsync -uavzhe ssh / home / dir / * [email protected]: / home / dir

rsync -uavzhe ssh [email protected]: / home / dir / * / home / dir

pyasi
la source
0

Couchdrop.io/Rsync

Couchdrop fonctionne avec Dropbox, Box, GoogleDrive, Amazon etc. et vous permet de Rsync et SCP vos fichiers directement sur eux sans installer de logiciels ou packages supplémentaires.

Fondamentalement, il suffit de rsync -a -e ssh filename [email protected]:

Cela pourrait vous aider?

Barty
la source