Copie et Édition de Fichiers Par SSH
Copie de Fichiers
En plus de pouvoir se connecter à distance avec ssh login@host
il est également possible de copier des fichiers depuis et vers le serveur grâce a un dérivé de SSH : scp
. Cette commande prend la source et destination comme parametre soit
scp fichierlocal login@host:chemindistant
pour envoyer un fichier et
scp login@host:chemindistant fichierlocal
pour récupérer un fichier
Remarque : Copie de Dossiers
scp
peut également copier des dossiers et leurs contenus. Auquel cas il ajouter -r
à la commande.
Copie Intelligente
scp
est limitée dans ce qu'elle peut faire. Si vous copiez un dossier lourd avec beaucoup de fichiers déjà présents de l'autre côté, tous seront envoyés. Il existe une autre commande qui permet de faire cela mais qui est plus complexe : rsync
. Cette nouvelle commande va vérifier la présence et le checksum des fichiers avant de les envoyer. Sa syntaxe est proche de scp
mais nécessite plus d'options :
rsync -PIavz source destination
Ici, pas besoin de -r
pour copier des dossiers.
Édition de Fichiers à Distance
Nous avons jusqu'à maintenant deux manières d'éditer le contenu des fichiers sur le serveur :
Se connecter en SSH et éditer avec
nano
(ou autre éditeur préféré) directement depuis SSHModifier les fichiers en local puis les pousser avec
scp
oursync
Une autre méthode combine les meilleur des deux monde : éditer sur votre machine et répercuter automatiquement les modifications sur votre VPS : sshfs
.
sshfs
est une commande à lancer sur votre machine personnelle comme suit
sshfs server:path localpath
ce qui aura pour conséquence de monter le contenu de server:path
dans le dossier localpath
. Vous pourrez alors éditer le contenu de localpath
sur votre machine personnelle et ssh
se chargera de synchroniser automatiquement sur le VPS.
Pour démonter le dossier localpath
(ce qui est une bonne idée quand vous avez fini une session d'édition), il faut utiliser la commande
fusermount -u localpath