web-dev-qa-db-fra.com

Copier des fichiers à l'aide de rsync d'un serveur distant vers une machine locale

Une fois que j'ai ssh'd dans mon serveur distant, quelle serait la commande pour copier tous les fichiers d'un répertoire dans un répertoire local de ma machine?

278
markstewie

Depuis votre machine locale:

_rsync -chavzP --stats [email protected]:/path/to/copy /path/to/local/storage
_

Depuis votre machine locale avec un port ssh non standard:

_rsync -chavzP -e "ssh -p $portNumber" [email protected]:/path/to/copy /local/path
_

Ou à partir de l'hôte distant, en supposant que vous souhaitiez réellement travailler de cette façon et que votre machine locale écoute sur SSH:

_rsync -chavzP --stats /path/to/copy [email protected]:/path/to/local/storage
_

Voir man rsync pour une explication de mes commutateurs habituels.

515
Johnsyweb

Si vous avez un accès SSH, vous n'avez pas besoin de SSH d'abord, puis de copier. Il vous suffit d'utiliser Secure Copy (SCP) à partir de la destination.

scp user@Host:/path/file /localpath/file

Les caractères génériques sont supportés, donc

scp user@Host:/path/folder/* /localpath/folder

copie tous les fichiers distants de ce dossier.Si vous copiez plus d’un répertoire.

note -r copiera également tous les sous-dossiers et le contenu.

46
Tezyn