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 :

Récupération d'un ISO en bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Récupération d'un ISO en bash
    Bonjour à tous.

    Je voudrais récupérer un fichier .iso sur internet , mais plusieurs fois par mois.
    Le souci c'est qu'il change de version donc de nom de fichier.

    je voulais tenter avec grep pour récupérer l'url mais, sans succès.

    Voila je suis ouvert à d'autres langages si besoin.
    Merci.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    d'abord, détaille les opérations que tu effectues "à la main".
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Merci de ton aide.

    Ce que j'ai essayé de faire est d'utilisé les expression régulière avec grep .

    j'ai tenté d'autres variantes mais sans succès.

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    si le fichier change de nom mais que le répertoire lui est fixe il n'y a pas de problèmes.

    mais bon il faut nous détailler ton besoin pour qu’on puisse te donner une réponse pertinente.

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    si le fichier change de nom mais que le répertoire lui est fixe il n'y a pas de problèmes.
    Tu te places dans le cas où le site internet te laisse lister les fichiers du dossier. Rien n'est moins sûr.


    hacker_x_ un wget de la page web, un grep -o ou un sed (pour filtrer), et un wget de l'ISO devrait régler ton problème.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Ce que je veux faire c'est télécharger se fichier plusieurs fois par mois, ou une fois, via un script.

    Pour le script c'est pas un souci ce que je n'arrive pas à faire c'est de récupérer l'url proprement. Ce que je fais,

    " wget http://www.freedrweb.com/livecd " ceci me télécharge la page web, ainsi dedans je voix bien l'url de mon 'iso', maintenant je n'arrive pas à prendre l'url exacte comme ceci :
    http://download.geo.drweb.com/pub/dr...livecd-602.iso

    si je tente un " wget http://download.geo.drweb.com/pub/drweb/livecd/*.iso"
    j'ai une erreur 404 NO FOUND.

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Voilà des commandes qui marchent chez moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ wget http://www.freedrweb.com/livecd 
    $ wget http:wget $(grep -o 'http[^"]*\.iso' livecd  )
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Merci Flodelarab ça marché !! Bon je clôture pas j'ai encore quelques questions à vous poser.

    Je poste ça tout à l'heure. Merci encore

  9. #9
    Expert éminent

    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
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    En voilà une autre qui marche bien aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     wget -r -l1 -nd --no-parent -A.iso http://download.geo.drweb.com/pub/drweb/livecd/
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous, je suis de retour.

    Voila je continue mon Script pour récupérer les .iso , mais je voudrais que le script vérifie si il y a ue mise à jour ou pas.

    Donc il me suffirait de re-télécharger le fichier html du site, de faire un grep comme vous m'aviez expliqué et de renvoiyer ceci dans une variable, c'est la que j'ai un souci je ne sais pas envoyer la réponse de du GREP dans une variable.

    Mon script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #!/bin/bash
     
    # Téléchargement de la page web contenant le lien de l'.iso
    #wget http://www.freedrweb.com/livecd/
     
    # la variable REC contient le nom de l'iso anciennement téléchargé
    REC=`find -name drweb-livecd-*.iso`
     
    # REC1 devrait faire pareil que REC mais dans le fichier html, pour enfin comparer les deux chaînes de caractères.
    REC1=`grep -o 'http[^"]*\.iso' index.html`
     
    if [$REC] = [$REC1]
    then
            echo " le fichier est a jour "
    fi
    Voici l'erreur que je reçois ./test.sh: ligne12: [./drweb-livecd-602.iso]: Aucun fichier ou dossier de ce type.

    Je pense qu'il y a une autre solution, je suis même sur , voila si vous aviez quelques conseils ça serait sympa.
    Thanks

  11. #11
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    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 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,

    La syntaxe du if avec test (ici on aura ko):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if [ "toto" = "tito" ]
    then 
       echo ok
    else 
       echo ko
    fi
    Ne pas oublier l'espaces avant et après "[" et avant "]"

    Après ton grep récupère une url que tu vas comparer à un nom de fichier, ce sera toujours faux
    Cordialement.

  12. #12
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Citation Envoyé par hacker_x_ Voir le message
    Bonjour à tous, je suis de retour.

    Voila je continue mon Script pour récupérer les .iso , mais je voudrais que le script vérifie si il y a ue mise à jour ou pas.
    J'ai décroché après cette phrase. Car wget a une option -N qui ne re-télécharge un fichier local déjà présent que si le fichier distant est mis à jour.


    En allant plus loin, plusieurs choses à dire:
    • Mettre un résultat de commande dans une variable, c'est comme tu as fait ` ` ou comme j'ai fait $( )
    • [ ] est un raccourci pour la commande "test". Il faut mettre des espaces autour de chaque crochet
    • Les noms des isos changent-ils? L'option -nc (de mémoire) de wget qui empêche le re-téléchargement n'est-il pas suffisant?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  13. #13
    Expert éminent

    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
    Points : 6 276
    Points
    6 276
    Par défaut
    En rajoutant l'option "-nc" à la syntaxe donnée au post #9 ça le fait tout seul de vérifier si l'image est déjà présente ou pas
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour, et merci pour votre aide.

    Du coup j'ai testé les deux solutions et elles marchent .

    J'ai une question sur le serveur DRBL, je peux le poster ici ?
    Merci pour votre aide en tout cas .

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut De retour
    Bonjour à tous !
    Je viens déterrer ce sujet que j'avais laissé à l'abandon
    Voilà où j'en suis,
    Actuellement, je télécharge plusieurs logiciels avec un script Bash (je le posterais pour que vous puissiez le critiquer)
    Et ensuite, j'ai créé un script Bat qui me permet de récupérer sur les PC Windows, tous les logiciels de sécurité que mon Bash télécharge. Cela me permet de ne pas avoir à tout télécharger à chaque fois que je désinfecte une machine...
    Cependant, j'ai un problème avec le script Bat, il ne réagit pas de la même façon sur tout les PCs. Des fois il s'ouvre et se ferme directement en créent juste le dossier "soft", et la il me copie tous les dossiers vides, du dossier S-M-D.

    Voyez-vous des erreurs ?

    J'exécute ce script depuis le serveur Linux (via un partage samba).

    Voici la .Bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    set chmA="\\DEBIAN\Serv1\Install_logiciel"
    set chmB="c:\Users\public\Desktop\soft"
     
    mkdir %chmB%
     
    %USERNAME%
     
    xcopy  %chmA%\S-M-D\desinfection  %chmB%\  /E
    xcopy  %chmA%\S-M-D\autoruns*.exe  %chmb%\ 	/E
    xcopy  %chmA%\S-M-D\dfsetup*.exe  %chmb%\	/E
    xcopy  %chmA%\S-M-D\bluescreenview*.zip %chmb%\	/E
    xcopy  %chmA%\S-M-D\privazer_*.exe  %chmb%\
    xcopy  %chmA%\S-M-D\*hardware_identify*.exe  %chmb%\ /E
     
    pause
    Et voici min script Bash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     
    #!/bin/bash
    #########################
    #
    # Variables
    urlA=http://www.bleepingcomputer.com/download
    chmA=/media/HDD500/Install_logiciel/S-M-D/
    chmB=/media/HDD500/Install_logiciel/S-M-D/Desinfection/
     
    cd /home/unix/Documents/Bash/Dl_soft/
     
    # Security
    wget $urlA/adwcleaner/dl/125/ 			-O Adwcleaner.html
    wget $urlA/combofix/dl/12/	 		-O combofix.html
    wget $urlA/junkware-removal-tool/dl/131/ 	-O jrt.html
    wget $urlA/rkill/dl/10/				-O rkill32.html
    wget $urlA/roguekiller/dl/121/			-O roguekiller.html
    wget $urlA/superantispyware/dl/106/		-O Sspyware.html
    wget http://downloads.malwarebytes.org/file/mbam/ -O mbam.exe # only wget
    mv mbam.exe $chmB 
    wget -N -P $chmA  http://privazer.com/privazer_free.exe # only wget
     
    # Utiliites
    wget $urlA/autoruns/dl/185/			-O autoruns.html
    wget $urlA/bluescreenview/dl/258/		-O bluesc32.html
    wget $urlA/bluescreenview/dl/259/		-O bluesc64.html
    wget $urlA/defraggler/dl/195/			-O defraggler.html
    wget $urlA/speedfan/dl/199/			-O speedfan.html
    wget $urlA/hardware-identify/dl/256/		-O hardidf.html
     
    # Plugin ma config.com 32 & 64 bits
    wget http://www.ma-config.com/fr/configuration/installationplugin/2_key		-O tld32.html
    wget http://www.ma-config.com/fr/configuration/installationplugin/3_key		-O tld64.html
     
    chmod +x $chmA 
     
    # Security
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' Adwcleaner.html)
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' combofix.html )
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' jrt.html )
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' rkill32.html )
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' roguekiller.html )
    wget -N -P $chmB $(grep -o 'http[^"]*\.exe' Sspyware.html )
     
    # Utilities
    wget -N -P $chmA $(grep -o 'http[^"]*\.exe' autoruns.html )
    wget -N -P $chmA $(grep -o 'http[^"]*\.zip' bluesc32.html )
    wget -N -P $chmA $(grep -o 'http[^"]*\.zip' bluesc64.html )
    wget -N -P $chmA $(grep -o 'http[^"]*\.exe' defraggler.html )
    wget -N -P $chmA -O SpeedFan.exe $(grep -o 'http[^"]*\.exe' speedfan.html )
    wget -N -P $chmA $(grep -o 'http[^"]*\.exe' hardidf.html )
     
    # Plugin ma config.com 32 & 64 bits
    wget -N -P $chmA $(grep -o 'http[^"]*\.exe' tld32.html )
    wget -N -P $chmA $(grep -o 'http[^"]*\.exe' tld64.html )

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    je viens de tester mon script .bat sur une VM et le script se ferme automatiquement. Sur mon PC perso il fonctionne.

    Si je copie le .bat sur la VM j'ai cela :
    Nom : Capture.PNG
Affichages : 377
Taille : 23,9 Ko


    Sur mon PC que cela soit en local ou réseau ça fonctionne !
    Avez vous une idée ?

  17. #17
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Euh ... Tu demandes à des linuxiens de t'aider sur du ms-dos ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Oui ces vrai j'ai pas vu que j'étais uniquement dans du Linux... Je vais aller poster sur la bonne section.

    Sinon que pensez vous du bash ?

  19. #19
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Euh ... Tu demandes à des linuxiens de t'aider sur du ms-dos ?
    Je trouve ça facile de dire "c'est du Windaube que tu me montres là, je deviens aveugle" parce que oui ne pas voir ceci:
    Nom : E05xLG6fiA.jpg
Affichages : 464
Taille : 91,6 Ko

    C'est être aveugle ou désintéressé (PS: j'aime Debian donc ne m'agressez pas) ^^

    Sinon si ça en intéresse certains:
    http://www.developpez.net/forums/d14...r/#post8057513
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  20. #20
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Quel joli troll! Je vois dans ta réponse l'incapacité récurrente des informaticiens à faire la différence entre les différente acception du verbe pouvoir. (Ici, capacité <-> volonté)
    Dans le verbe pouvoir, il y a 3 nuances:
    1. la capacité: je peux nager
    2. la liberté (inclus la légalité): je peux avorter
    3. la volonté: je peux t'emmener à la gare, si tu veux.


    Quand on demande à un pirate pourquoi il a hacké un site, il répond "Parce que je sais faire". Mais ce n'est pas parce qu'il a la capacité qu'il en a la liberté.
    Rappel: le meurtre n'est pas techniquement compliqué. Quel raisonnement foireux!

    Dans ton message, tu exprimes que nous aurions la capacité de trouver des fautes. Mais je n'en ai pas la volonté! "Ms-dos" implique "mes oreilles closes".

    On peut... mais on ne peut pas...
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

Discussions similaires

  1. Récupération de données boucle (Script Bash)
    Par minka dans le forum Shell et commandes POSIX
    Réponses: 12
    Dernier message: 11/03/2015, 16h07
  2. récupération temperature (sensors) [bash]
    Par ddelec24 dans le forum Linux
    Réponses: 2
    Dernier message: 24/08/2008, 23h30
  3. récupération d'erreur dans le bash
    Par will972 dans le forum VBScript
    Réponses: 5
    Dernier message: 03/04/2007, 16h07
  4. le bash et récupération des caractères
    Par RedBlack.Ma dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 17/01/2007, 22h20
  5. probleme de récupération de variable en bash avec awk
    Par avogadro dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 24/12/2006, 01h31

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