J'ai environ 200 000 fichiers que je transfère sur un nouveau serveur aujourd'hui. Je n'ai rien fait à une telle échelle auparavant et je voulais obtenir des conseils sur la manière dont je devrais y aller. Je les déplace entre deux Centos 6 Distros, et ils sont à différents endroits du pays. Je n'ai pas assez d'espace disque dur sur le serveur d'origine pour couvrir tous les répertoires et les fichiers en une massive d'archives, alors ma question est de savoir comment devrais-je transférer tous ces fichiers? rsync? une manière particulière d'utiliser rsync? Toute entrée/suggestions sur la façon de faire ce 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 commande rsync
comme ceci. Surtout lorsque quelque chose d'idiot peut se produire et que vous perdez la connexion au serveur A pour lequel vous exécutez la commande rsync
de. Ensuite, il suffit de détacher l'écran et de le reprendre plus tard.
Juste pour éliminer Simon Réponse , rsync
est l'outil idéal pour le travail:
Rsync is a fast and extraordinarily versatile file copying
tool. It can copy locally, to/from another Host over any
remote Shell, or to/from a remote rsync daemon. It offers a
large number of options that control every aspect of its
behavior and permit very flexible specification of the set of
files to be copied. It is famous for its delta-transfer algo‐
rithm, which reduces the amount of data sent over the network
by sending only the differences between the source files and
the existing files in the destination. Rsync is widely used
for backups and mirroring and as an improved copy command for
everyday use.
En supposant que vous avez un accès SSH à la machine distante, vous voudrez faire quelque chose comme ceci:
rsync -hrtplu path/to/local/foo [email protected]:/path/to/remote/bar
Cela copiera le répertoire path/to/local/foo
à /path/to/remote/bar
sur le serveur distant. Un nouveau sous-répertoire nommé bar/foo
sera créé. Si vous voulez seulement copier le contenu d'un répertoire, sans créer de répertoire de ce nom sur la cible, ajoutez une barre oblique suivante:
rsync -hrtplu path/to/local/foo/ [email protected]:/path/to/remote/bar
Cela copiera le contenu de foo/
dans le répertoire distant bar/
.
Quelques options pertinentes:
-h, output numbers in a human-readable format
-r recurse into directories
-t, --times preserve modification times
-p, --perms preserve permissions
-l, --links copy symlinks as symlinks
-u, --update skip files that are newer on the receiver
--delete delete extraneous files from dest dirs
-z, --compress compress file data during the transfer
-C, --cvs-exclude auto-ignore files in the same way CVS does
--progress show progress during transfer
--stats give some file-transfer stats
Cela dépend de la rapidité avec laquelle il doit être copié et de la quantité de bande passante disponible.
Pour une connexion réseau médiocre, considérez la bande passante d'un camion rempli de bandes. (Lire: Mail a le disque dur de 2,5 pouces, ou tout simplement le conduire là-bas. 300 Les lecteurs Gigabit doivent être faciles à trouver).
S'il est moins de temps critique ou que vous avez beaucoup de bande passante, alors rsync est génial. S'il y a une erreur, vous pouvez simplement continuer sans ré-copier les fichiers antérieurs.
[EDIT] J'ai oublié d'ajouter que vous pouvez exécuter RSYNC plusieurs fois si vos données sont utilisées lors de la copie.
Exemple:
[.____] 1) Données utilisées. Rsync -> Toutes les données sont copiées. Cela peut prendre un certain temps.
[.____] 2) Exécutez à nouveau 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 pas de modification, ou vous pouvez le faire de manière intelligente/sûre en effectuant les données en lecture seule pendant la copie. (E.G. S'il s'agit d'un ensemble partagé par partage utilisé qui partagé uniquement en lecture seule. ou RSYNC Les données, alors la nuit définissent la lecture en lecture seule pendant que vous l'exécutez une seconde fois).
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 mbs à copier, mais quelques jours, il y a jusqu'à 20-30 Go et il fonctionnait toujours sans problème.
première utilisation NFS et TAR/ENTAR (NFS est le protocole le plus rapide dans ce cas, goudron pour sauvegarder la bande passante de réseau par plus d'utilisation de la CPU)
tar cf - * | ( cd /target; tar xfp -)
prochaine heure/s Utilisez RSYNC