Dupliquer rapidement un répertoire à la racine ?
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Dupliquer rapidement un répertoire à la racine ?

Par
Paul_Sellis
Créé le 2019-01-25 09:54:45 (edited on 2024-09-04 12:31:01) dans Hébergements Web

Bonjour,

je souhaiterais dupliquer sur le serveur OVH le répertoire www.

Si je le fais par FTP (je suis sur Mac et j'utilise Transmit) ça prend du temps. C'est comme si tout le contenu transitait par mon ordinateur avant d'être redéposé sur le serveur...

Un moyen de faire ça ?
(Je suis en mutualisé, hébergement PRO)


Merci pour l'aide.
Paul


20 réponses ( Latest reply on 2019-01-29 12:02:12 Par
Paul_Sellis
)

se connecter en ssh, dans un terminal:
```text
ssh login@ftp.cluster0XX.hosting.ovh.net

# confirmer le certificat de l'hôte: yes
# saisir passsword

cp -r www/ cible/
exit
```
si tu apprécies ce fonctionnement, je te conseille **fortement** de t'authentifier par clé après

l'hôte est celui que tu utilises en sFtp

Ah oui par lignes de commande... mais je n'y connais rien.
Je vais regarder le guide : https://docs.ovh.com/fr/hosting/mutualise-le-ssh-sur-les-hebergements-mutualises/

Merci pour ton code.

Je serai obligé de garder Terminal (je suis sur Mac) ouvert le temps que tout soit exécuté ? (j'en ai pour 2,5Go)
Je n'ai pas bien compris pourquoi il fallait s'authentifier par clé

la clé numérique est beaucoup plus confortable, mais ce n'est qu'un détail

cette copie devrait durer...2, non 5 secondes avec une marge
donc oui, je te conseille de laisser ouvert :)

Cool !

Drôlement puissant ces lignes de commandes, j'espère ne rien exploser avec ça...

rien
sauf si tu commences à utiliser des `rm` ou `mv`...

Question bête :
les lignes de commandes SSH c'est "réservé" à un travail sur le serveur ?
Ou y a-t-il aussi un intérêt aussi pour rapatrier des éléments distants vers son ordinateur ?

je ne suis pas sûr de comprendre la question
ssh signifie deux choses:

* un protocole sécurisé
* un shell sécurisé (un terminal)

sur un serveur tu peux faire certaines opérations

* internes au serveur (copie, suppression, déplacement, voire certains utilitaires que tu réussirais à installer en user)
* ou semi-externe, upload, download en bénéficiant de commandes puissantes linux
* copie simple scp, sftp
* ftps alternatif avancé (multiprotocoles, mirroir) lftp
* rsync le roi de la syncro
* etc

donc rien n'empêche de servir de tout cela, à partir de ton terminal (rsync -> pro ovh) ou en liant ton accès ssh comme un device (périphérique), y avoir accès avec un explorateur

**Attention**:

* la communication est **ultra-bridée** dans l'offre ssh Ovh, en ssh sur le serveur tu peux considérer que tu ne peux sortir à l'extérieur, un `git@framagit.org:dépôt` échouera par exemple
mais dans le sens: ton système sur un *"pro"* , c'est possible
d'autre offres hébergements sont encore plus bridées sur Ovh
* les utilitaires installés ou disponibles sur un mutualisé comme l'offre *"pro"* ne sont pas nombreux en dehors du système de base

Merci encore pour tes informations.

Donc ce n'est malheureusement pas possible de copier un répertoire du "pro" vers mon ordinateur.
Sinon, dans l'autre sens (mon système vers "pro") est-ce que j'y gagnerais beaucoup par rapport à un soft de FTP ( en rapidité/fiabilité) ?

si tu peux, tu inities le transfert de ton Pc

en général je pousse avec *rsync*, mais théoriquement tu peux *tirer*:

```text
# en bash
cible=( "-e ssh" "login@ftp.cluster0xy.ovh.net:www/" )
rsync -avz --human-readable /home/user/monDossier/ "${cible[@]}"
```
sur d'autres hébergement ou des hébergementds migrés: `login@ftp.cluster0xy.hosting.ovh.net:www/`

si c'est fonctionnel, je te conseille de t'authentifier par clé ssh, inutile alors de saisir ton mot de passe en interactif

Merci pour la commande.

Le gain de temps est notable par rapport à un soft FTP ?

rsync (ou rclone, ou duplicity) permet de gérer les seuls changement comme lftp/mirror

la vitesse en soi n'est pas plus rapide lors d'un premier transfert, mais par la suite, comme seul les changements sont transférés, c'est plus rapide

pour la fiabilité et la sécurité (ssh), rsync c'est parfait
lftp je ne m'en sers que pour exfilter des *perso* en sftp

J'ai essayé tes lignes de commande SSH

Ça marche bien mais je ne récupère pas les fichiers invisibles dans le nouveau répertoire (je devrais récupérer ici un .htaccess)
Voilà mes lignes :
> ~ $ mkdir -p cgi-bin-test
> ~ $ cp -a cgi-bin/* cgi-bin-test/

Comment faire ?

> php/7.3/

**COMMENCE** déjà par passer en php7.2
php7.3 est prématuré
et **obsolète** sur Ovh, toujours en beta de novembre alors que l'on est à php7.3.1 en stable avec des corrections de sécu importantes en décembre !!

copie à la main, pas le temps de t'apprendre à te servir de shopt bash

`cp /source/.htaccess /cible/`

OKi !
;-)

Pour chacun des fichiers copié, Terminal me met le message : > cp: preserving permissions for ‘test/administrator/components/com_jem/help/images/tick.png’: Operation not supported

C'est à dire que les permissions ne seront pas les mêmes sur les fichiers copiés ?

tu es sur un mutu, c'est pour cela, tu peux oublier l'option -a
mais tu peux aussi consulter les man:
`man cp`
ou
`help -m commandeBash`
ici, ce n'est pas vraiment un forum shell bash

Oui
Merci pour tout Christophe

> `cp -a cgi-bin/* cgi-bin-test/`

**J'**avais oublié option -r (récursif) pour parcourir l'arborescence:
`cp -r cgi-bin/* cgi-bin-test/`

> je ne récupère pas les fichiers invisibles dans le nouveau répertoire

`cp -r cgi-bin/ cgi-bin-test/`

tu copies le répertoire (et tout son contenu), ça ira mieux

Ah non, enfin sauf erreur...
`cp -ar source/ cible/`
me copie le répertoire source à l'intérieur du répertoire cible

J'avais créé le répertoire cible avant :
`mkdir -p cible`

Bien sûr toujours les messages :
`cp: preserving permissions for ‘cible/source/images/stories/diaporamas/lorem/P6300151.jpg’: Operation not supported`

Par contre je récupère bien les fichiers invisibles !