J'ai un accès SSH aux deux serveurs, l'un d'eux est vide. Comment déplacer le répertoire du site de l'ancien serveur vers le nouveau serveur via une connexion SSH?
PS: sur les deux serveurs est unix
Mon préféré est rsync
. Il est suffisamment intelligent pour copier uniquement ce qui doit être copié (c'est-à-dire modifié ou nouveau).
rsync -avz /source/path user@desthost:/destination/path/
Notez la finale /
à la fin pour demander à rsync de copier à l' intérieur de ce chemin (pas dessus).
rsync
s'occupe de gérer la connexion ssh pour vous. Les avz
options (typiques) demandent rsync
d'utiliser le mode archive (tar), afin de copier récursivement, et de conserver autant que possible la date et les valeurs utilisateur. L' v
option est détaillée pour vous montrer ce qui se passe actuellement. L' z
option compressera (compressera) le transfert pour, espérons-le, économiser du temps et de la bande passante.
rsync
est très puissant et est utilisé par la plupart des professionnels, mais vous pouvez d'abord le tester en utilisant des données non précieuses pour vous assurer que le chemin et les options correspondent aux exigences.
Si vous devez utiliser rsync via SSH sur un port non standard comme 2222, vous pouvez utiliser la commande suivante ( voir cet article ):
rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Vous cherchez un tuyau de goudron .
la source
J'ai écrit une réponse qui fonctionne bien dans une autre question. Il utilise SSH-Agent pour déplacer un vidage mysql: le moyen le plus rapide de déplacer plusieurs bases de données vers un nouveau serveur
Combinez cela avec la réponse de jscott
la source