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 :

Besoin d'aide pour compléter script


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Besoin d'aide pour compléter script
    Bonjour, quelqu'un peut-il me compléter ce script shell ?
    j'aimerai faire un script de recherche d'une chaine de caractère sur tout un hébergement.
    Normalement, j'utilise putty pour faire cette recherche.
    Dans putty, je tape en racine de mon hébergement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -name "index.php" -exec grep -Hn "eval(base64_decode" {} \;
    J'ai donc fait un script php avec commande Shell:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $output = shell_exec('find . -name "index.php" -exec grep -Hn "eval(base64_decode" {} \;');
    echo "<pre>$output</pre>";
    ?>
    Le problème, c'est que mon script est placé dans un dossier de niveau 2.
    Je voudrai que mon script débute en racine de mon hébergement, puis lance la recherche de la chaine dans tout mon hébergement qui est constitué de plusieurs dizaines de dossiers (répertoires) avec plusieurs niveaux. Il me manque donc juste un morceau de code...
    Je lancerai ce script automatiquement à l'aide de mon planificateur de tache chez ovh.
    Merci de votre aide. Laurent

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 247
    Billets dans le blog
    1
    Par défaut
    Tu peux peut etre ajouter un cd pour te placer dans le repertoire de ton choix avant le find et te replacer ou tu etais apres ?

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    S'il s'agit juste de remonter de deux niveaux dans l'arborescence pour lancer le find, il suffit de faire comme ça :
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Citation Envoyé par al1_24 Voir le message
    S'il s'agit juste de remonter de deux niveaux dans l'arborescence pour lancer le find, il suffit de faire comme ça :
    C'est clair, mais un find / -name ... ne suffirait-il pas ?


  5. #5
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Salut.

    A défaut de savoir ce qu'il entend par "racine de son hébergement", la solution de al1_24 me parait plus sûr (si c'est pas un serveur dédié, il n'aura peut être pas les droits sur / etc).

    Cordialement,
    Idriss

  6. #6
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Merci
    Merci pour votre aide.
    les ../.. fonctionnent. Non je ne suis pas sur un dédié mais en mutualisé. Merci encore

  7. #7
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Problème car recherche que en racine
    Je reviens vers vous, car la recherche ne se fait qu'en racine de mon hébergement et pas dans tous les sous-répertoires.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $output = shell_exec('find .-name "../../index.php" -exec grep -Hn "eval(base64_decode" {} \;');
    echo "<pre>$output</pre>";
    ?>
    Que dois-je rajouter pour faire une recherche dans tout l'hébergement.
    Pour Rappel, je suis en mutualisé chez Ovh
    Merci

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lolo81100 Voir le message
    Je reviens vers vous, car la recherche ne se fait qu'en racine de mon hébergement et pas dans tous les sous-répertoires.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $output = shell_exec('find .-name "../../index.php" -exec grep -Hn "eval(base64_decode" {} \;');
    echo "<pre>$output</pre>";
    ?>
    Salut

    Déjà il faut un espace entre le chemin "." et l'option "-name".

    Ensuite le système de fichier Unix est conçu avec des dossiers qui stockent des fichiers par leur "nom pur" (sans y rajouter le chemin)
    Donc un fichier nommé "/xxx/yyy/toto/index.php" sera enregistré dans le dossier "toto" comme "index.php" et non comme "/xxx/yyy/toto/index.php". Le dossier "toto" sera enregistré dans le dossier "yyy" lui-même enregistré dans le dossier "xxx" lui même enregistré dans "/".
    Bref un dossier ne connait que le nom du fichier qui s'y trouve et non le nom de l'arborescence qui y mène. Donc le find ne trouvera jamais de fichier nommé "../../index.php"...

    Citation Envoyé par lolo81100 Voir le message
    Que dois-je rajouter pour faire une recherche dans tout l'hébergement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find racine_hebergement -name "index.php" -print
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Suite
    Merci pour votre explication. Mais je ne sais pas comment écrire "racine_hebergement". est-ce home...? Comment faire ?
    Merci

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par lolo81100 Voir le message
    Merci pour votre explication. Mais je ne sais pas comment écrire "racine_hebergement". est-ce home...? Comment faire ?
    Merci
    A mon avis, lorsque le client se connecte sur OVH, la racine de son hébergement est "/" (les clients sont isolés dans un espace confiné d'où ils ne peuvent pas sortir).

    Mais pourquoi tu ne fais pas tes tests en local sur ton serveur web perso avant de tester sur le serveur officiel ?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  11. #11
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 36
    Par défaut Besoin d'aide pour compléter script
    J'ai tenté ça mais ça ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $output = shell_exec('find / -name "index.php" -exec grep -Hn "eval(base64_decode" {} \;');
    echo "<pre>$output</pre>";
    ?>
    Si quelqu'un arrive à me l'écrire ça serait vraiment bien !
    Merci

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

Discussions similaires

  1. Besoin d'aide pour petit script
    Par tibofo dans le forum VBScript
    Réponses: 2
    Dernier message: 22/07/2009, 22h37
  2. [MySQL] Besoin d'aide pour un script
    Par spespam dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/11/2008, 15h03
  3. [MySQL] besoin d'aide pour un script pour la numérotation de page
    Par rysis83 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 30/01/2008, 20h59
  4. Besoin d'aide pour modif script
    Par Abdias dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2006, 07h00
  5. Besoin d'aide pour un script shell
    Par lecharcutierdelinux dans le forum Linux
    Réponses: 5
    Dernier message: 20/05/2006, 10h36

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