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 :

Erreurs dans un 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 émérite
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Par défaut Erreurs dans un script de sauvegarde
    bonjour

    Voici un petit script de backup qui prend 2 arguments
    1. le nom d'un fichier à sauvegarder
    2. le nombre de jours de dernière modification des fichiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/bash
     
    while read line
    do
    echo –e "line\n"
    done < $1 | find $1 -mtime -$2 | tar -c-T-f /home/backup.tar
    # find pour rechercher dans le fichier passé en 1er argument
    # -mtime -$2 pour spécifier les fichiers modifiés depuis le nombre 
    # de jour passés en 2ème argument
    # on passe à pipe
    # tar -c-T-f pour créer l’archive
    # -c pour la céer
    # l’option -T pour obtenir le nom des fichiers à archiver
    # l’option -f pour le fichier backup.tar
    j'ai une erreur au lancement :

    ./sauve.sh signature.txt 2
    tar: -f: ne peut stat: Aucun fichier ou répertoire de ce type
    tar: Erreur non récupérable: fin de l'exécution immédiate
    merci


    .

  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 deny
    bonjour

    while read line
    do
    echo –e "line\n"
    done < $1 | find $1 -mtime -$2 | tar -c-T-f /home/backup.tar


    Avec ceci, ça devrait aller mieux :

    find . -name $1 -mtime -$2

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Par défaut script de sauvegarde
    Merci pour ta reponse
    Hélas ,cela ne fonctionne pas encore .........


    ./sauve.sh signature.txt 2
    ./sauve.sh: line 6: find.: command not found
    tar: -f: ne peut stat: Aucun fichier ou répertoire de ce type
    tar: Erreur non récupérable: fin de l'exécution immédiate

    (avec ou sans le point après find)


    a+

  4. #4
    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 deny
    bonjour

    .../...
    # find pour rechercher dans le fichier passé en 1er argument
    # -mtime -$2 pour spécifier les fichiers modifiés depuis le nombre
    # de jour passés en 2ème argument
    .../...

    Doit-on comprendre que le fichier passé en 1er argument contient une liste de fichiers à rechercher et, éventuellement, sauvegarder ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Par défaut script de sauve
    Non ,il s'agit juste d'un fichier

    avec comme premier arg nom_du_fichier et deuxième arg nombre_jours

    et d'ailleurs dans l'exemple ,je fais un essai sur un seul fichier :
    /sauve.sh signature.txt 2

    merci

  6. #6
    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 deny
    Non ,il s'agit juste d'un fichier

    avec comme premier arg nom_du_fichier et deuxième arg nombre_jours

    et d'ailleurs dans l'exemple ,je fais un essai sur un seul fichier :
    /sauve.sh signature.txt 2

    merci
    Dans ce cas, je ne vois pas l'interêt du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read line
    do
    .../...
    done < $1

    Le shell, ci-dessus, signifie : parcourir le contenu du fichier "$1"
    Quel en est l'usage

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Par défaut
    bien vu
    prenons donc plutot l'exemple d'un repertoire a sauvegarder

    ./sauve.sh azureus 2
    ./sauve.sh: line 3: read: read error: 0: est un répertoire
    ./sauve.sh: line 6: find.: command not found
    tar: -f: ne peut stat: Aucun fichier ou répertoire de ce type
    tar: Erreur non récupérable: fin de l'exécution immédiate


    le probleme reste entier
    a+

  8. #8
    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 deny
    bien vu
    prenons donc plutot l'exemple d'un repertoire a sauvegarder

    ./sauve.sh azureus 2
    ./sauve.sh: line 3: read: read error: 0: est un répertoire
    ./sauve.sh: line 6: find.: command not found
    tar: -f: ne peut stat: Aucun fichier ou répertoire de ce type
    tar: Erreur non récupérable: fin de l'exécution immédiate


    le probleme reste entier
    a+

    But : sauvegarder les fichiers, du répertoire "azureus", qui ont fait l'objet de modifications depuis - de 2 jours.

    Obs : l'option -T est sans objet

    http://pwet.fr/man/linux/commandes/tar
    .../...
    -T, --files-from F
    obtient la liste des fichiers à extraire ou à archiver depuis le fichier F.
    .../...


    ./sauve.sh azureus 2


    Script sauve.sh :

    find $1 -mtime -$2 | xargs tar -cvf /home/backup.tar

Discussions similaires

  1. [Sql] erreur dans un script
    Par fyren` dans le forum Oracle
    Réponses: 9
    Dernier message: 02/02/2006, 23h44
  2. erreur dans un script
    Par rib dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/12/2005, 16h42
  3. erreur dans mon script
    Par Swata dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 00h02
  4. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  5. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14

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