J'ai deux serveurs. L'un d'eux possède 15 millions de fichiers texte (environ 40 Go). J'essaie de les transférer sur un autre serveur. J'ai envisagé de les compresser et de transférer les archives, mais j'ai réalisé que ce n'était pas une bonne idée.
J'ai donc utilisé la commande suivante:
scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt
Mais j'ai remarqué que cette commande transfère seulement environ 50 000 fichiers, puis la connexion est perdue.
Existe-t-il une meilleure solution qui me permette de transférer toute la collection de fichiers? Je veux utiliser quelque chose comme rsync
pour transférer les fichiers qui n'ont pas été transférés lorsque la connexion a été perdue. Lorsqu'une autre interruption de connexion se produirait, je retaperais la commande pour transférer des fichiers, en ignorant ceux qui ont déjà été transférés avec succès.
Ce n'est pas possible avec scp
, car il commence toujours par le premier fichier.
la source
-h
drapeau pour utiliser des unités lisibles par l'homme. Et si vous voulez plus de verbosité, vous avez quelques options:-i
et / ou-v
/-vv
.ssh
n'est pas une option pour vous et que vous n'avez pas besoin ou ne voulez pas le cryptage, vous pouvez essayer mon script s3.amazonaws.com/skaperen/rsendUtilisez simplement rsync sur ssh!
rsync -av username@ip:/var/www/html/txt /var/www/html/
Notez comment j'ai utilisé des barres obliques à la fin des dossiers - c'est important .
la source
rsync
page de manuel: "Une barre oblique de fin sur la source modifie ce comportement pour éviter de créer un niveau de répertoire supplémentaire à la destination. Vous pouvez penser à une fin / sur une source comme signifiant" copier le contenu de ce répertoire "par opposition à" copier le répertoire par son nom ", mais dans les deux cas, les attributs du répertoire contenant sont transférés vers le répertoire contenant sur la destination."-av
?Utilisez lftp, son beaucoup plus rapide que rsync et son meilleur pour la mise en miroir de sites Web (de nombreux petits fichiers). Il peut également transférer en parallèle en utilisant plusieurs connexions:
Si une connexion est interrompue, elle se reconnectera et continuera. Si vous interrompez le transfert, il ignorera les fichiers existants et continuera.
http://lftp.yar.ru/
la source
Une autre façon est de canaliser un fichier tar (éventuellement compressé) sur ssh:
la source