Commandes SSH accès Linux

Transférer un gros site Prestashop en SSH

Dans la plupart des cas quand je dois transférer une boutique Prestashop vers un nouvel hébergeur, je fais l’opération avec Filezilla. Ce n’est pas la manière la plus rapide, mais cela fonctionne très bien.

Quand Filezilla ne suffit plus

Comme je viens de le dire, actuellement j’utilise toujours Filezilla pour transférer Prestashop d’un serveur à un autre… Seulement parfois quand le serveur est à l’étranger et qu’il faut rapatrier les données et qu’il y’a un gros volume… ça peut-être long, très long…

Lorsque je dis « gros site » ce n’est pas forcément un site d’importance (niveau chiffre d’affaire), mais un site qui dispose d’un gros volume de produits, ce qui engendre ensuite une multitude d’images et de miniatures à récupérer. En principe sur des boutiques Prestashop à moins de 100’000 fichiers, Filezilla convient très bien au-delà… il faut essayer via le SSH.

Transfert FileZilla
Quand on lance un transfert avec FileZilla parfois on constate que le nombre de fichiers à récupérer explose et il est préférable du coup de procéder autrement. J’ai déjà fait des transfert à plus d’1 million de fichiers… ça tient la route, il faut juste être patient.

Effectuer un backup en mode SSH

Personnellement j’ai pas vraiment l’habitude de faire du Linux, je me débrouille… mais ça n’a jamais été vraiment ma tasse de thé… et il faut dire aussi que s’occuper des serveurs est un métier à part entière, ça ne s’improvise pas.

Pour commencer on va faire quelque chose de simple, on va tout simplement exécuter une archive complète du FTP, pour cela il faut se connecter en SSH sur le serveur, personnellement j’utilise Putty pour Windows, interface très austère mais ça marche très bien. Il suffit de mettre l’IP du serveur sur lequel on veut se connecter, puis ensuite on se logue avec les identifiants.

Il y a deux commandes de base à utiliser « ls » pour lister les dossiers et la commande « cd » pour se déplacer dans le répertoire qui nous intéresse.

SSH sur FTP
Ici je me suis déplacé dans le répertoire « web ».

Ensuite, je veux tout sauvegarder les dossiers et ficher de l’emplacement /web dans lequel je me trouve, pour cela c’est très simple, il suffit d’exécuter la commande ci-dessous. Notez bien que le . en fin de de ligne est important.

tar -vcf backupFTP.tar.gz . 
Création archive en SSH
La console affiche un message de confirmation de fin du processus et je peux constater que mon archive est bien présente, mon backup est prêt.

Re-déployer le backup en mode SSH

A présent que vous avez généré votre archive, vous pouvez la télécharger via FileZilla et vous pouvez uploader ce même fichier « backupFTP.tar.gz » vers votre nouveau FTP. Le poids du fichier peut-être conséquent mais l’opération de transfert sera beaucoup plus rapide, car elle se fait en un bloc.

Ensuite, il faut faire l’opération dans le sens inverse, c’est-à-dire décompresser l’archive sur le nouveau FTP, car actuellement vous avez transféré l’archive zippée via FileZilla sur le nouveau serveur. Pour notre test j’ai effectué la création d’un dossier dans « /web/deploy » qui contient juste l’archive… et on va tester de faire l’extraction.

Dézipper backup SSH
Il reste à présent plus qu’à extraire l’archive.

Pour cela c’est à nouveau très simple, il suffit d’exécuter la commande ci-dessous. Notez bien qu’il est important d’être positionné dans le dossier qui contient l’archive lors de l’exécution de la commande.

tar xvf backupFTP.tar.gz
Extraction backup SSH
Et voilà tous les fichiers sont extraits !

Bilan

Alors pour ou contre la ligne de commande ? Je suis pas forcément un gros fan d’exécuter des commandes dans une console… surtout quand j’ai pas vraiment l’habitude (et toujours une crainte de tout faire exploser), mais il faut être honnête, on peut gagner vraiment du temps avec ça.

Après il faut tout prendre en compte, sur des petites boutiques Prestashop, le temps parfois de demander les accès au prestataire… les échanges de mails… on a déjà fait le transfert via FileZilla.

Pour les prochaines fois, je pense que je regarderai le poids du FTP chez l’hébergeur avant de faire un transfert et ça me donnera un indicateur si oui ou non je dois faire le transfert des fichiers source en via SSH. Si vous avez une expérience à ce sujet, n’hésitez pas à la partager dans les commentaires !

BOUM !

1 seul mail par semaine - pas de publicité

8 commentaires sur “Transférer un gros site Prestashop en SSH”

  1. Bonjour,

    Merci pour ce tuto minute, le gain de temps doit être assez impressionnant, fini les milliers de petites requêtes pour télécharger chaque élément…

    Je suppose que cette méthode peut aussi être utilisée pour faire de backups des fichiers du serveur.

    Avez-vous un exemple de temps de transfert avec chaque méthode ?

    Sans avoir des millions de fichiers, pour les personnes comme moi sans fibre optique avec un débit de 1.5mo/s, 4 prestashop et 4 wordpress légers ça commence déjà à être long et je rechigne parfois à faire mes sauvegarde que je préfère faire de temps en temps manuellement.

    merci encore et à bientôt.

    1. Hello,

      Tout à fait il est possible aussi d’effectuer un backup de cette manière, cela fonctionne très bien.

      Difficile de dire un chiffre précis… mais peut-être là où il m’a fallu une journée de transfert avec FileZilla en SSH il a fallu peut-être 1h. Après cela dépend surtout de la bande passante pour télécharger la grosse archive (mais c’est largement plus rapide… c’est le jour et la nuit).

      Si vous avez besoin de faire des backups réguliers, demandez aussi à votre hébergeur et voir aussi s’il propose de se lier à des services de backup externe pour que vous n’ayez pas besoin de réaliser ces opérations à la main.

      A bientôt !

  2. Salut Germain
    T’es conseil m’ont énormément fais avancer dans mes projet et a moindre coût 🙂
    Merci beaucoup
    Juste une petit suggestion, je lis beaucoup t’es articles et des fois quand je suis en déplacement j’aime profiter du temps que je passe sur la route à apprendre et je trouve dommage que tu ne propose pas sur tes articles l’option de télécharger l’articles en PDF

    1. Hello,

      C’est toujours un grand plaisir quand mes billets peuvent aider un lecteur. Concernant le téléchargement en PDF sincèrement je n’y avais pas pensé, je note l’idée…

      Merci pour cette suggestion !

  3. Bonjour,

    Merci pour le tuto, et pour tous ce que tu fais, mais comment zipper le site a la base par le filezilla ou l’hebregeur, moi je suis sur ovh.

    En attente de ta reponse,

    Cordialement,

    1. Bonjour,

      En fait c’est la commande suivante qui fait le zip :

      tar -vcf backupFTP.tar.gz . 
      

      Par contre, peut-être que cela vaut la peine de se renseigner auprès de votre hébergeur, car les syntaxes peuvent varier selon les configurations et les hébergements.

      A bientôt !

  4. Bonjour,
    Pour ma part, cette formule de backup global est idéale pour sauvegarder tout le site à condition d’avoir fait un dump de la base de données avant.
    Aussi je fais cette manipulation 1 fois par trimestre.

    Cependant je fais un backup de la base quotidiennement que je récupère systématiquement.

    1. Bonjour,

      Oui c’est une bonne chose de mettre ça au planning, car on n’est jamais à l’abri d’un conflit avec l’hébergeur… En principe il y’a toujours moyen de remonter sur quelques jours en arrière, mais c’est une très bonne pratique d’instaurer ce genre de règles.

      A bientôt !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *