script linux avec tar
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

script linux avec tar



  1. #1
    invite66e3c206

    Unhappy script linux avec tar


    ------

    bonjour,
    j'ai un phénomène étrange quand je lance le shell script linux que j'ai créé pour faire des sauvegardes sur bande...
    find * -maxdepth 0 -type d | sort | while read line
    do
    echo "$line"
    tar -cMf /dev/nst0 -b 512 --totals "$line"
    done
    but du script : enregistrer 1 fichier tar par répertoire présent (plutot que de faire un simple tar direct qui mettrait tout dans la meme archive)

    ce qui se passe : l'option -M permet d'attendre l'appui de la touche "entrée" lors d'un changement de cartouche... mais... tout se passe comme si le script continuait la boucle (tar n'est pas bloquant ?) jusqu'a la fin ou une erreur s'affiche
    "fin de script atteint alors que tar attendait la touche entrée"

    HELP

    -----

  2. #2
    Philou67

    Re : script linux avec tar

    Il semblerait que ton "read" remplace l'entrée standard du shell par la sortie du process avant le premier read

    Par exemple, si j'écris la chose suivante :
    Code:
    ls .. | while read line
    do
      echo "line=$line";
      read next;
      echo "next=$next"
    done
    Le 2e read ne lit pas au clavier, mais il lit l'entrée suivante produites par le processus ls.
    :'( Plus j'apprends, et plus je mesure mon ignorance

  3. #3
    Philou67

    Re : script linux avec tar

    Pourquoi ne pas plutôt utiliser une construction du style :

    Code:
    for line in $(ind * -maxdepth 0 -type d | sort)
    do
    ...
    done
    :'( Plus j'apprends, et plus je mesure mon ignorance

  4. #4
    invite66e3c206

    Re : script linux avec tar

    merci Philou pour ton aide
    En voulant tester ta version, comme j'ai des noms de rep avec des espaces, il semble que la boucle for découpe les noms des reps qu'il envoi a tar...
    une idée ?

  5. A voir en vidéo sur Futura
  6. #5
    Philou67

    Re : script linux avec tar

    Utilise l'option -print0 de find.
    Par contre, je doute que tu puisses alors piper dans sort.

    Regarde bien le manuel de find à l'option print0.
    :'( Plus j'apprends, et plus je mesure mon ignorance

  7. #6
    invite66e3c206

    Re : script linux avec tar

    man bash
    IFS=$'\n' avant la boucle for et CA MARCHE !

Discussions similaires

  1. Cherche Script pour configuration SMTP et POP sous linux
    Par invite9d52c77c dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 05/04/2009, 12h51
  2. shell ou script linux
    Par invited9f05e20 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 26/03/2009, 08h44
  3. Decompresser *.tar.tar => Probleme installation ocaml
    Par invite5c27c063 dans le forum Logiciel - Software - Open Source
    Réponses: 15
    Dernier message: 03/02/2009, 15h39
  4. Problème avec un Script pour Tchat
    Par invite693d963c dans le forum Internet - Réseau - Sécurité générale
    Réponses: 14
    Dernier message: 15/06/2006, 11h13
  5. Pb avec script .vbs
    Par invite3e1a626a dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 10/04/2006, 10h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...