GNU/Linux >> Tutoriels Linux >  >> Linux

Comment synchroniser des fichiers entre deux télécommandes ?

Je souhaite transférer des fichiers entre deux hôtes distants à l'aide d'un shell local, mais il semble que rsync ne prenne pas en charge la synchronisation si deux télécommandes sont spécifiées comme suit :

$ rsync -vuar host1:/var/www host2:/var/www
The source and destination cannot both be remote.

Quelles autres solutions/commandes puis-je utiliser pour obtenir des résultats similaires ?

Réponse acceptée :

Comme vous l'avez découvert, vous ne pouvez pas utiliser rsync avec une source distante et une destination distante. En supposant que les deux serveurs ne peuvent pas se parler directement, il est possible d'utiliser ssh pour tunnel via votre machine locale.

Au lieu de

rsync -vuar host1:/var/www host2:/var/www

vous pouvez l'utiliser

ssh -R localhost:50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /var/www localhost:/var/www'

Au cas où vous vous poseriez la question, le -R L'option configure un canal inverse à partir du port 50000 sur host1 qui mappe (via votre machine locale) au port 22 sur host2. Il n'y a pas de connexion directe entre host1 et host2.


Linux
  1. Comment déplacer /usr et /var vers une autre partition ou un autre disque

  2. Comment faire la différence (uniquement les ajouts) entre deux fichiers sous Linux

  3. Django static_root dans /var/www/... - aucune autorisation pour collectstatic

  4. Comment administrer /var/www ?

  5. Comment supprimer des fichiers créés entre deux fois ?

Comment transférer des fichiers entre deux ordinateurs à l'aide des commandes nc et pv

Comment synchroniser automatiquement des fichiers entre deux serveurs Linux

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Comment utiliser Rsync pour copier/synchroniser des fichiers entre des serveurs

Utilisez un dépôt git sur /var/www/html/

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?