Ceci est une ancienne révision du document !
Table des matières
Manipulation et compression de fichiers en SSH
Transfert de fichiers entre machines
Pour transférer des fichiers entre deux machines via SSH, plusieurs outils sont disponibles :
SCP (Secure Copy)
SCP permet de copier des fichiers de manière sécurisée :
* Envoyer un fichier vers une machine distante :
scp fichier.txt utilisateur@adresse_ip:/chemin/destination/
* Récupérer un fichier depuis une machine distante :
scp utilisateur@adresse_ip:/chemin/fichier.txt /chemin/local/
* Copier un dossier entier récursivement :
scp -r dossier/ utilisateur@adresse_ip:/chemin/destination/
RSYNC
RSYNC est plus performant que SCP pour les synchronisations de fichiers :
* Transfert et synchronisation de fichiers :
rsync -av fichier.txt utilisateur@adresse_ip:/chemin/destination/
* Transférer uniquement les fichiers modifiés :
rsync -avz --progress dossier/ utilisateur@adresse_ip:/chemin/destination/
Compression et décompression
Pour économiser de l'espace ou accélérer les transferts, la compression est utile.
TAR
Créer une archive :
tar -cvf archive.tar dossier/
Créer une archive compressée en gzip :
tar -czvf archive.tar.gz dossier/
Extraire une archive tar :
tar -xvf archive.tar
Extraire une archive tar.gz :
tar -xzvf archive.tar.gz
ZIP
Compresser un fichier/dossier en .zip :
zip -r archive.zip dossier/
Décompresser un fichier .zip :
unzip archive.zip
GZIP
Compresser un fichier en .gz :
gzip fichier.txt
Décompresser un fichier .gz :
gunzip fichier.txt.gz
BZIP2
Compresser un fichier en .bz2 :
bzip2 fichier.txt
Décompresser un fichier .bz2 :
bunzip2 fichier.txt.bz2
Transfert de fichiers compressés
Une bonne pratique consiste à compresser un fichier avant transfert pour réduire la taille des données envoyées :
* Compresser et transférer en une commande (avec tar et SSH) :
tar -czf - dossier/ | ssh utilisateur@adresse_ip "cat > archive.tar.gz"
* Transférer une archive puis la décompresser sur la machine distante :
scp archive.tar.gz utilisateur@adresse_ip:/chemin/destination/ && ssh utilisateur@adresse_ip "tar -xzvf /chemin/destination/archive.tar.gz -C /chemin/destination/"
Cela permet d'optimiser les transferts en réseau tout en gardant une gestion efficace des fichiers.
