toolbox:scp
Differences
This shows you the differences between two versions of the page.
toolbox:scp [2023/12/01 14:41] – created fred | toolbox:scp [2025/01/15 20:24] (current) – removed fred | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SCP ====== | ||
- | |||
- | --- | ||
- | title: Transferts de fichiers - SCP, SFTP & SSH sont dans un bâteau | ||
- | date: 2015-01-01 | ||
- | taxonomies: | ||
- | tags: [Linux, SSH, SCP, SFTP, Rsync] | ||
- | --- | ||
- | |||
- | # Définitions | ||
- | |||
- | J'ai encore appris un truc à la noix aujourd' | ||
- | |||
- | * La manière de se connecter, oui ; | ||
- | * La méthode de transfert, non ! | ||
- | |||
- | SCP ne fait que copier les fichiers; SFTP permet de gérer plus finement (en mode interactif, si besoin) les fichiers et d' | ||
- | |||
- | SFTP doit être activé manuellement dans le fichier `/ | ||
- | |||
- | Le truc à savoir, c'est qu'il est possible d' | ||
- | En gros, on peut donc renvoyer l' | ||
- | |||
- | Pour passer SFTP en mode non-interactif, | ||
- | |||
- | ```bash | ||
- | sftp < | ||
- | put file1 | ||
- | put file2 | ||
- | EOF | ||
- | ``` | ||
- | |||
- | [Les différences entre tous ces services sont les suivantes](https:// | ||
- | |||
- | * `SFTP` = `SSH + SFTP-server` installé sur le serveur | ||
- | * `SCP` = `SSH + SCP`, installé sur le serveur également. | ||
- | * `FISH` = `SSH + dd` (et quelques autres utilitaires Unix de base, accessibles sur le serveur). | ||
- | |||
- | # Transferts | ||
- | |||
- | ## Téléchargement d'un répertoire à partir du serveur | ||
- | |||
- | ```bash | ||
- | scp -r -P < | ||
- | ``` | ||
- | |||
- | ## Envoi d'un fichier vers le serveur | ||
- | |||
- | ```bash | ||
- | scp -P < | ||
- | ``` | ||
- | |||
- | ## Accélérer le transfert de petits fichiers | ||
- | |||
- | ```bash | ||
- | root@nas:/ | ||
- | < | ||
- | 54.9MiB 0:00:29 [2.25MiB/s] | ||
- | ``` | ||
- | |||
- | Bien plus rapide que scp, surtout si beaucoup de petits fichiers. | ||
- | |||
- | `pv`, c'est juste pour voir ou on en est. | ||
- | |||
- | # RSYNC | ||
- | |||
- | Pour transférer des fichiers de manière sécurisé, rien de mieux qu'SSH (ou qu'un disque externe coulé dans du béton. Au choix). | ||
- | SCP permet de transférer des fichiers au travers du protocole SSH, mais ne gère pas la reprise d'un transfert échoué. | ||
- | Pour plus de fonctionnalités et un meilleur contrôle des transferts, il existe [rsync](https:// | ||
- | |||
- | 1. La reprise de transfert en cas de foirage complet, | ||
- | 2. La synchronisation de dossiers, | ||
- | 3. ... | ||
- | |||
- | C'est un outil de sauvegarde pratique, sur lequel se basent notamment [Duplicity](http:// | ||
- | |||
- | ## Utilisation | ||
- | |||
- | ``` | ||
- | $ rsync -r -P -e ssh login@server: | ||
- | ``` | ||
- | |||
- | Dans l' | ||
- | |||
- | * `-r` pour un transfert récursif. Sans ce paramètre, seul les fichiers présents dans le dossier racine seront transférés. | ||
- | * `-P` pour avoir le même effet que `--partial --progress`: | ||
- | * `-e` pour spécifier le shell à utiliser | ||
- | * Les deux derniers paramètres sont : `SOURCE` et `DESTINATION`. Ici, on va se connecter avec l' | ||
- | |||
- | Parmi les autres paramètres intéressants: | ||
- | |||
- | * `-t` pour garder les informations de dates de modifications sur les fichiers | ||
- | * `-v` pour entrer dans un mode verbeux | ||
- | * `-u` pour synchroniser les dossiers, en prenant en compte les dates de modifications des fichiers pour savoir s'il doit envoyer une nouvelle version ou non. Attention que ce paramètre n'a pas d' | ||
- | * `--delete` pour supprimer les fichiers qui se trouvent dans la destination, | ||
- | * `-z` pour compresser les fichiers et gagner un peu au niveau du transfert. | ||
- | |||
- | Attention également aux `/` après les chemins vers les répertoires. Oubliez le, et cela créera un nouveau répertoire dans le répertoire cible. Ajoutez le pour ne synchroniser que le contenu. | ||
- | |||
- | |||
- | ## En conclusion | ||
- | |||
- | En combinant tous les paramètres, | ||
- | |||
- | ``` | ||
- | rsync -rtv -P -e "ssh -p 11111" my_folder/ login@server: | ||
- | ``` | ||
- | |||
- | # Notes | ||
- | |||
- | [^1] Bon, j'ai découvert en 2023 qu'en fait, non : un fournisseur nous oblige à envoyer des fichiers *via* SFTP ; j'ai voulu utiliser SCP et je me suis fait jeter par un message type `SCP is disabled`. Je ne pensais pas que c' | ||
toolbox/scp.1701441710.txt.gz · Last modified: 2023/12/01 14:41 by fred