J'ai environ 200 000 fichiers que je transfère vers un nouveau serveur aujourd'hui. Je n'ai rien fait à une si grande échelle auparavant et je voulais obtenir des conseils sur la façon de procéder. Je les déplace entre deux distributions Centos 6, et elles se trouvent à différents endroits du pays. Je n'ai pas assez d'espace sur le disque dur sur le serveur d'origine pour tarer tous les répertoires et fichiers dans une seule archive tar, alors ma question est de savoir comment dois-je transférer tous ces fichiers? rsync? une façon spéciale d'utiliser rsync? Toute entrée / suggestion sur la façon de le faire serait incroyable.
Merci
EDIT: Pour ceux qui se demandent, je suggère fortement d'utiliser un screen
lors de l'exécution d'une grande rsync
commande comme celle-ci. Surtout quand quelque chose de stupide peut se produire et que vous perdez la connexion au serveur A à partir duquel vous exécutez la rsync
commande. Détachez ensuite l'écran et reprenez-le plus tard.
la source
rsync
? Peut-être sur un petit ensemble de fichiers ou plus? Devrait être l'outil idéal pour cela.tar cz | ssh [email protected] tar xz
rsync
pour les mises à jour suivantes): "Ne sous-estimez jamais la bande passante d'un break plein de bandes" (c'est-à-dire: avez-vous envisagé de placer un 2ème hd (ou de brancher un usb2 / disque usb3), sauvegarder dessus et envoyer celui-ci via fedex à l'emplacement distant? Il pourrait être BEAUCOUP plus rapide que toute autre chose, et économiser de la bande passante pour d'autres utilisations.Réponses:
Juste pour étoffer la réponse de Simon ,
rsync
est l'outil parfait pour le travail:En supposant que vous avez un accès ssh à la machine distante, vous voudriez faire quelque chose comme ceci:
Cela va copier le répertoire
path/to/local/foo
pour/path/to/remote/bar
le serveur distant. Un nouveau sous-répertoire nommébar/foo
sera créé. Si vous souhaitez uniquement copier le contenu d'un répertoire, sans créer un répertoire de ce nom sur la cible, ajoutez une barre oblique de fin:Cela copiera le contenu de
foo/
dans le répertoire distantbar/
.Quelques options pertinentes:
la source
rsync -hrtplu --progress
si je voulais voir les progrès au fur et à mesure?rsync --progress --stats -hrtl --update source destination
.rsync -hrtplu --progress --rsh='ssh -p2202'
est ce que j'utilise et il ne peut pas se connecter. Continuez à obtenir 255 erreur. Mais je suis sshd'd dedans. Donc je sais que ce n'est pas le pare-feu ... dois-je également fournir le mot de passe via la cmd? ou ne me le demanderait-on pas juste après?Cela dépend de la vitesse à laquelle il doit être copié et de la quantité de bande passante disponible.
Pour une mauvaise connexion réseau, considérez la bande passante d'un camion rempli de bandes. (Lisez: envoyez un disque dur de 2,5 pouces par la poste ou installez-le vous-même. 300 lecteurs gigabits devraient être faciles à trouver).
Si c'est moins critique en temps ou si vous avez beaucoup de bande passante, alors rsync est génial. S'il y a une erreur, vous pouvez simplement continuer sans recopier les fichiers précédents.
[Modifier] J'ai oublié d'ajouter que vous pouvez exécuter rsync plusieurs fois si vos données sont utilisées pendant la copie.
Exemple:
1) Données utilisées. Rsync -> Toutes les données sont copiées. Cela peut prendre un certain temps.
2) Réexécutez rsync, seuls les fichiers modifiés sont copiés. Cela devrait être rapide.
Vous pouvez le faire plusieurs fois jusqu'à ce qu'il n'y ait aucun changement, ou vous pouvez le faire de manière intelligente / sûre en rendant les données en lecture seule pendant la copie. (par exemple, s'il se trouve sur un ensemble partagé utilisé qui partage en lecture seule. Ou resynchronisez les données, puis la nuit, définissez le partage en lecture seule pendant que vous l'exécutez une deuxième fois).
la source
J'irais pour rsync! Je l'utilise pour sauvegarder mon serveur sur un serveur hors site et cela fonctionne bien. Habituellement, il y a quelques Mo à copier, mais certains jours, cela va jusqu'à 20-30 Go et cela a toujours fonctionné sans problème.
la source
rsync sur NFS utilisant une connexion Gigabit prendra environ 10h. Il sera préférable de copier les données sur le disque dur et de les déplacer entre les serveurs. Si vous devez faire une copie un-à-un du disque réel, utilisez dd ou quelque chose comme ça pour créer une image brute du disque. L'utilisation de ssh (scp) entraîne une énorme surcharge. Testé empiriquement sur une connexion Gigabit. rsync est efficace pour effectuer une synchronisation incrémentielle entre deux serveurs utilisés en haute disponibilité ou en mode de sauvegarde. Je suppose.
la source
will took nearly about 10h. It will be better to copy data on HDD and move them between server.
sauf que c'est partout au pays, donc ça prendrait plus de temps.utiliser NFS et tar / untar pour la première fois (NFS est le protocole le plus rapide dans ce cas, tar pour économiser la bande passante du réseau en utilisant davantage le processeur)
la prochaine fois, utilisez rsync
la source
tar -cf - * | gzip | nc -p 4567
etnc -l 4567 | gunzip | tar xf -
.