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 :

Mon script de sauvegarde


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de vovor
    Inscrit en
    Avril 2005
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 119
    Par défaut Mon script de sauvegarde
    le petit script que j'ai trifouillé me rend "cannot execute binary file"

    je seche un peu maintenant

    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
    #!/bin/bash
    # Script de sauvegarde des données du serveur sur bande
    #
    # Date du jour
    DATE=`date +"%Y-%m-%d"`
    #
    echo "Lancement de la sauvegarde du $DATE" >> /var/log/sauvegarde_du_$DATE.log
    #
    # Rembobinage  de la bande si necessaire
    mt -f /dev/st0 rewind
    RETVAL=$?
     
    case $RETVAL in
    0)
           echo "Bande presente, lancement de la sauvegarde sur bande" >> /var/log/sauvegarde_du_$DATE.log
           tar cvf /dev/st0  /home /etc /var /opt /usr /sbin >> /var/log/sauvegarde_du_$DATE.log
           sleep 10
           # Ejection de la bande
           #mt -f /dev/st0 offline
           ;;
    1)
           echo "Pas de bande presente, echec de la sauvegarde" >> /var/log/sauvegarde_du_$DATE.log
           ;;
    esac

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par vovor
    le petit script que j'ai trifouillé me rend "cannot execute binary file"

    Lance le en mode trace pour voir ce que ça donne :

    sh -x {nom_du_script}

  3. #3
    Membre confirmé Avatar de vovor
    Inscrit en
    Avril 2005
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 119
    Par défaut
    voila ce que ça me rend
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/bin/sauve_dat.bash: /usr/local/bin/sauve_dat.bash: cannot execute binary file
    queud...


    et pourtant les droits sont corrects.

  4. #4
    Expert confirmé 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 : 48
    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
    Par défaut
    faits plustot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/sh
    set -x
    .........................
    set +x
    pour voir quelle commande reelement pose probleme

    il se peut aussi que ce soit des caracteres phantom si tu a utiliser un editeur de texte autre que vi. ou pire encore charge ton script via ftp ou autre d'un autre OS.

    le cas typique est l'utilisateur debutant qui ecris ses premiers script sous windows et les depose en ftp sur sa station unix-like et execute le ftp en mode binaire pour un fichier ascii ducoup on peut avoir ce genre de fichier mal identifie.

    permet de savoir si c'est le fichier qui globablement est mal identifie notament.

    si le fichier est reconnu binaire c'est peut etre un ^M qui s'y cache.
    dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vi -c "s/^M//|:wq" fichier

    c'est a dire dans l'ordre des touches a frapper au clavier :
    v,i,espace,-,c,espace,",s,s/,CTRL+V,ENTER,/,/etc.....
    et surtout pas ecrire le ^M avec les caracteres ^ et M !!!

  5. #5
    Membre confirmé Avatar de vovor
    Inscrit en
    Avril 2005
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 119
    Par défaut
    t'inquiete pas je fais plus l'erreur depuis longtemps...
    meme apres etre passés par Winvi, je les retraite directement en mode console

    bon bin ça marche quand je vire le RETVAL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # Script de sauvegarde des données du serveur sur bande
    #
    # Date
    DATE=`date +"%Y-%m-%d"`
    #
    echo "Lancement de la sauvegarde du $DATE" >> /var/log/sauvegarde_du_$DATE.log
    #
    # Rembobinage  de la bande si necessaire
    mt -f /dev/st0 rewind
           echo "Bande presente, lancement de la sauvegarde sur bande" >> /var/log/sauvegarde_du_$DATE.log
           tar cvf /dev/st0  /home /etc /var /opt /usr /sbin >> /var/log/sauvegarde_du_$DATE.log
           sleep 10
           # Ejection de la bande
           mt -f /dev/st0 offline
    par contre quand j'ai pas de bande, j'ai ça :

    ++ date +%Y-%m-%d
    + DATE=2007-06-20
    + echo 'Lancement de la sauvegarde du 2007-06-20'
    + mt -f /dev/st0 rewind
    mt: /dev/st0: Aucun medium trouvé
    + echo 'Bande presente, lancement de la sauvegarde sur bande'
    + tar cvf /dev/st0 /home /etc /var /opt /usr /sbin
    tar: /dev/st0: ne peut open: Erreur d'entrée/sortie
    tar: Erreur non récupérable: fin de l'exécution immédiate
    + sleep 10
    + mt -f /dev/st0 offline
    mt: /dev/st0: Aucun medium trouvé


    il lit mal le RETVAL on dirait....

  6. #6
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    as tu essayé comme ça ?
    case "$x" in
    go)
    echo "demarrage"
    ;;
    stop)
    echo "arret"
    ;;
    *)
    echo "valeur invalide de x ($x)''
    esac
    En mettant des guillemets autour de la variable.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

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

Discussions similaires

  1. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37
  2. erreur dans mon script
    Par Swata dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 00h02
  3. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  4. Tcsh - Mon script ne marche pas
    Par Aramis dans le forum Linux
    Réponses: 5
    Dernier message: 13/05/2004, 18h26
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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