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

Shell et commandes GNU Discussion :

MySQL et scripts bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut MySQL et scripts bash
    Salut la communauté .

    Je suis en train de développer un script en bash qui est censé lire le contenu d'un répertoire et insérer les noms de fichiers dans une DB MySQL .

    J'ai commencé à écrire cela, mais je ne vois pas comment passer en arguments les noms de fichiers . Avec une boucle while ? Avec la commande xargs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #! /bin/bash
     
    ls /etc > /home/mitch/desktop/etcls.txt
     
    cat /home/mitch/desktop/etcls.txt |
     
    echo "INSERT INTO ranking (nomfichier, rerpertoire) VALUES ();"|/usr/bin/mysql -A -uXXX -hlocalhost -pXXXXX -Dranking
    Quelqu'un a il déjà fait quelques chose de similaire ? Ou une idée ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Bonjour,

    plusieurs choses :
    • faut-il faire la distinction entre les fichiers et les répertoires de /etc?
    • mysql a une option -e pour exécuter les commandes mysql
    • ta commande INSERT semble requérir deux arguments (nomfichier, repertoire) ...?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,

    plusieurs choses :
    • faut-il faire la distinction entre les fichiers et les répertoires de /etc?
    • mysql a une option -e pour exécuter les commandes mysql
    • ta commande INSERT semble requérir deux arguments (nomfichier, repertoire) ...?
    merci

    non, peut importe pour les répertoires, je vais deja le faire avec des fichiers et je compléterais par la suite .
    Donc ne pas tenir compte du champs répertoire dans la query MySQL .

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 342
    Par défaut
    Bonjour,

    Voici un départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /etc -maxdepth 1 -type f -printf "INSERT INTO ranking (nomfichier, rerpertoire) VALUES ('%h','%f');\n"
    Cordialement.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    la table ranking est-elle vide ? alors, une seule instruction mysql [...] -e 'LOAD DATA LOCAL INFILE [...]' serait préférable.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    oui pour le moment la table est vide .

    Merci je vais deja tester avec la commande find .

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    C'est bon ma DB est peuplée, merci à vous !

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

Discussions similaires

  1. Récupérer des données mysql dans un script bash
    Par xunil2003 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 28/07/2012, 20h33
  2. requête mysql dans un script bash
    Par lettersto dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/02/2012, 23h49
  3. requete mysql dans un script bash
    Par lettersto dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/02/2012, 11h58
  4. Script bash + mysql
    Par pierrickj dans le forum Administration système
    Réponses: 1
    Dernier message: 22/04/2009, 11h54
  5. Injection de donnée MySQL via script bash
    Par loopback dans le forum Linux
    Réponses: 9
    Dernier message: 03/11/2007, 11h15

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