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

Applications et environnements graphiques Discussion :

[crontab] traitement fichier sql puis import


Sujet :

Applications et environnements graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut [crontab] traitement fichier sql puis import
    bonjour,

    Pour un de mes site web, j'ai un fichier sql que j'aimerais passer tout les jour dans ma base de donnée mysql, avec une tâche cron.
    En plus, je voudrais ajouter un champs "date" dans le fichier sql que je récupère avant de faire l'import.

    - Le fichier sql se trouve sur internet : http://www.toto/dump.sql
    Je voudrait donc :

    1 - Le télécharger.
    2 - Ajouter au fichier un champs date avec la date du jour :
    une ligne du fichier :
    INSERT INTO `x_world` VALUES (1203,1,399,1,153084,'D )',594,'sebastp',59,'B.O.',761);

    je veux les transformer en :
    INSERT INTO `x_world` VALUES (1203,1,399,1,153084,'D )',594,'sebastp',59,'B.O.',761,'09/12');

    et ensuite passer le nouveau fichier dans ma base.

    Je ne connais pas bien crontab, alors toutes aide sera le bienvenue..

    merci d'avance
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  2. #2
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Voici ce que j'ai commencer a faire, pour le moment ça n'a pas l'aire de marcher...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cd /home/travian/www/
    wget http://s1.travian.fr/map.sql
    echo /home/travian/www/map.sql | sed 's/);/,CURDATE());/'
    mysqldump --host=mysql.xxxxxxx --user=xxxxx --password=xxxxxx travian_django < /home/travian/www/map.sql
    mysql --user=xxxxxx --password=xxxxxxxx
    delete from travian_django where mydate = CURDATE() - 5;
    exit;
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  3. #3
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    L'import de ton dump se fait de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql database < backup-file.sql
    Voir cette page pour plus d'explication.

    [ame="http://fr.wikipedia.org/wiki/Crontab"]Crontab[/ame] permet d'exécuter des scripts selon une fréquence paramétrée (le script doit être exécutable).

    Pour ton problème je verrais cela :
    1. Récupération du dump SQL.
    2. Nettoyage de la base.
    3. Insertion du dump.
    4. Mise à jour de la base avec la date du jour sur les enregistrements n'ayant pas cette donnée (à priori ceux du dump donc).
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  4. #4
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Finalement j'ai réussi a me dépatouiller merci !

    j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/sh
    cd /home/travian/www/
    rm map.sql
    wget http://s1.travian.fr/map.sql
    sed 's/);/,CURDATE());/g' map.sql > new_map.sql
    mv new_map.sql map.sql
    mysql --host=mysql.alwaysdata.com --user=xxxxx --password=xxxxxx travian_django < map.sql
    mysql --host=mysql.alwaysdata.com --user=xxxxx --password=xxxxxx
    use travian_django
    delete from x_world where mydate = CURDATE() - 5;
    exit;
    - suppression du fichier sql si il existe
    - téléchargement du fichier sql
    - mise à jour de la table
    - j'efface les données datant de 5 jours sur la table

    La seul chose c'est que mon log du crontab est vide.. mais ça marche bien.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Pour les log crontab regarde dans syslog.conf pour les activer.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2014, 17h00
  2. [importer fichier sql]
    Par maniolo dans le forum Oracle
    Réponses: 3
    Dernier message: 13/06/2006, 19h07
  3. [SQL] Importer un fichier sql depuis PHP
    Par TNorth dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/05/2006, 18h39
  4. Importation fichier .sql
    Par Mevil dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 20/04/2006, 11h48
  5. importation de fichiers SQL
    Par champijulie dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 20/05/2005, 15h50

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