IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sauvegarde d'un site, zip et envoi ftp


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Sauvegarde d'un site, zip et envoi ftp
    Bonjour,

    Nouveau sur le forum, je viens juste d'intégrer une équipe en tant que développeur php dans une agence web.


    J'ai comme premier projet de développer un cron pour :
    - d'abord, sauvegarder tous les fichiers d'un site web a partir de sa racine dans un .zip;
    - ensuite, faire un dump de la base de donnée;
    - enfin, envoyer les deux fichiers via ftp sur un serveur distant.
    Jusque là, rien de compliqué (même si j'y ai passé du temps ^^).


    Pour un petit site (le .sql et .zip > 50mo), mon script fonctionne, aucun problème.
    Le script s'effectue en peu de temps (< 2 min)

    Par contre dès que j'essaie sur un site plus gros (le .sql et .zip ~ 400mo), le transfert du .sql fonctionne mais celui du .zip plante.
    Le script commence, et arrivé au ftp_put du .zip, il plante. J'ai déjà essayé plusieurs fois (et attendu, ça prend du temps 400mo par ftp ), aucun .zip sur le ftp distant.

    Pourtant, j'ai modifié les valeurs du php.ini dans mon code :
    ini_set('memory_limit','96M');
    set_time_limit(0);

    Est-ce qu'il y a d'autre valeurs qui peuvent limiter la taille d'un fichier pour le ftp ? Ou alors est-ce que c'est mieux de le faire par commande linux avec exec ?

    Si quelqu'un a déjà connu ce type de problème ou a un début d'explication, je suis preneur, parce que la, je sèche !

    Merci d'avance

    Pkglydd

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    la limitation dans ton cas vient de Apache (ou ton serveur web)
    Pour Apache il y a une directive de configuration pour limiter la taille des uploads : LimitRequestBody en octets, regarde ici
    Exemple: pour une limite max de 2 GB :
    <Directory "/var/www/vhost/siteweb.com/uploads">
        LimitRequestBody 2147483647
    </Directory>
    si tu veux sans limite (fortement déconseillé), tu mets 0

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    la limitation dans ton cas vient de Apache (ou ton serveur web)
    Cron + ftp , je suis pas certains que apache est quelque chose à voir dans la limitation.

    Pour ce genre de tache , j'aurais très honnêtement opté pour un script système plutôt que du php.

    Une truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    zip -r masauvagarde.zip /www/site-a-sauvegarder/
    curl -T masauvagarde.zip ftp://monserveur.com --user login:password
    Tu rajoute éventuellement le dump del a bdd si il est pas déjà fait automatiquement et c'est réglé.

    Note que j'ai utilisé curl mais doit y'avoir moyen d'utiliser la commande ftp directement.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par grunk Voir le message
    Cron + ftp , je suis pas certains que apache est quelque chose à voir dans la limitation.
    Je suis bien d'accord mais ne voyant pas comment il a programmé son truc, il annonce avoir tripatouillé le php.ini et avoir utilisé ftp_put() au lieu de ftpput la commande unix de base alors je l'ai aiguillé vers le paramétrage de son serveur web.

    M'enfin, c'est comme toujours, en jouant aux devinettes, on tombe parfois à côté. Manque trop de choses pour fournir une aide adéquate.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Après une semaine de cours, je reviens sur mon problème avec le ftp de mon CRON.

    Effectivement, j'aurais pu tout faire en scripts système, mais mon sujet partait du php, sur un CMS proprietaire avec accès limité

    Du coup j'ai vu qu'on pouvait modifier une autre valeur du php.ini : max_file_uploads.

    "ini_set('max_file_uploads','500');"

    J'ai essayé, VICTOIRE, ça marche

    Donc merci pour vos réponses qui m'ont poussés à continuer mes recherches et à ne pas abandonner

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoie ftp
    Par lord anubis dans le forum Protocoles
    Réponses: 9
    Dernier message: 13/11/2014, 13h33
  2. Sauvegarde d'un site web et de sa base de données et envoi par email
    Par syrinx75 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/03/2011, 20h11
  3. Envoi ftp d'un fichier zip
    Par kavdo34 dans le forum Linux
    Réponses: 6
    Dernier message: 30/03/2010, 09h48
  4. Envoi FTP et appel de script
    Par Shin_RockmanX dans le forum C#
    Réponses: 1
    Dernier message: 07/08/2007, 09h26
  5. Réponses: 9
    Dernier message: 07/06/2007, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo