Table des matières
Comment copier des fichiers / répertoires au travers du réseau.
Cet artice décrit comment copier du contenu au travers du réseau
En changeant de serveur à la maison, je copie toutes les données du vieux serveur vers le nouveau. Dans les exemples ci-dessous, je travaille sur le nouveau serveur et les deux serveurs sont sur le même sous-réseau :
- Nouveau server (IP: 192.168.0.14)
- Ancien server (IP: 192.168.0.1)
Les commandes ssh
et scp
communiquent toutes les deux au travers d'une connexion sécurisée ( port TCP 22 ). Faites attention que vous devez activer le démonsshd
sur la machine distante.
Copie de fichiers / répertoires
Si vous avez besoin de copier de simples fichiers ou des répertoires, vous pouvez utiliser la commande scp
:
scp -r -v -p root@192.168.0.1:/etc /local_dir
Explication des options :
- -r: récursif (copie tout le contenu de
/etc
y compris ses sous-répertoires) - -p: préserve les attributs des fichiers (c'est à dire les dates de création, de modification, …)
- -v: sortie verbeuse
Dans l'exemple ci-dessus, nous copions le répertoire /etc
situé sur une machine distante (le vieux serveur: 192.168.0.1) vers /local_dir
sur la machine locale (le nouveau serveur).
Notez que la commande scp
ne peut pas copier toute la hiérarchie du système de fichiers incluant /proc
, /dev
ou /lost+found
. Heureusement, il existe un contournement qui été fourni par Patrick Volkerding.
Copier toute la hiérarchie du système de fichiers
La commande suivante devrait permettre de copier toute la hiérarchie du système de fichiers:
ssh root@192.168.0.1 "(cd / ; tar cf - . )" | (mkdir -p /local_dir ; cd /local_dir ; umask 000 ; tar xvf -)