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

Linux Discussion :

Exécution d'un script shell


Sujet :

Linux

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut Exécution d'un script shell
    Bonjour, je suis débutant sur linux en j'essaye d'éxécuter un script de sauvegarde.
    Sauf qu'il me retourne à chaque fois une erreur :
    : No such file or directoryamba/*
    tar: Error exit delayed from previous errors
    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    # fichier sauve_home
    date=$(date)
    set -- $date
    tar czvf /home/save/home.$3$2$6.tgz home/samba/*
    Quel est le problème svp ?
    Il n'arrive visiblement pas à trouver le répertoire.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 37
    Points
    37
    Par défaut
    A mon avis il manque tout simplement un / avant le home/samba/*
    Essayes donc avec ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tar czvf /home/save/home.$3$2$6.tgz /home/samba/*
    Ca devrait mieux fonctionner )
    Tu peux aussi tester que le repertoire existe bien avant de le sauvegarder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if [ -d /home/samba ]
    then
       tar czvf /home/save/home.$3$2$6.tgz /home/samba/*
    else
       echo "Erreur :  le repertoire /home/samba n'existe pas
    fi
    Voila

  3. #3
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tar czvf /home/save/home.$3$2$6.tgz home/samba/*
    Il ne manquerait pas un slash sur le dernier argument ? Franchement, tu aurais pu chercher un peu. Le message d'erreur est clair et ton script est miniscule.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut
    nyal, monsieur le grand modérateur qui sait tout et qui ne fait jamais de fautes.... (surtout dans le code qu'il ne connait pas)


    Merci Gédéon.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut
    Même avec le /, il ne reconnait pas le répertoire...

    Ce qui est étrange, c'est qu'il essaye tout de même de faire la sauvegarde car il crée bien le fichier home.14Jun.tgz dans le répertoire choisi. Sauf que celui-ci est vide...
    Et lorsqu'on lui donne un fichier à sauvegarder, de même, il ne le trouve pas.
    Un problème dans la compression ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut
    Encore plus étrange,
    la ligne
    tar -czvf /home/save/home.14Jun.tgz /home/samba/*
    s'éxécute sans problème.
    Pourquoi le script n'arrive t-il pas à la lancer ? De plus les droits sont mis. (chmod 777)

    J'aimerai bien que ce script fonctionne car je veux l'utiliser dans un cron...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut
    Bon tout simplement, il fallait rajouter "> /dev/null" à la fin....

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 34
    Points : 37
    Points
    37
    Par défaut
    Et ca marche comme ca ? le > /dev/null ne fait qu'eliminer les traces mais il ne corrige pas l'erreur c'est bizarre ... et tu es sur de tes variables $2 $3 et $6 ... ton truc marche bien maintenant ?

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 204
    Points : 159
    Points
    159
    Par défaut
    Oui pas de problème du côté des variables.
    Voici le code que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/bin/sh
    # fichier sauve_home
    date=$(date)
    set -- $date
    tar -czvf /home/samba/save/commun.$3$2.tgz /home/samba/global > /tmp/listeCommun.txt 2>&1
    La différence est maintenant que je garde des traces de la sauvegarde...

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

Discussions similaires

  1. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48
  2. Script shell
    Par anzar dans le forum Linux
    Réponses: 4
    Dernier message: 03/12/2004, 14h41
  3. [JSP] script shell
    Par goolix dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/08/2004, 09h08
  4. Explication script shell
    Par crasho007 dans le forum Linux
    Réponses: 2
    Dernier message: 14/06/2004, 13h54
  5. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

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