Mon script shell ne marche pas!

OBV Messages postés 12 Date d'inscription   Statut Membre -  
OBV Messages postés 12 Date d'inscription   Statut Membre -
Bonjour,

j'ai un souci avec mon script , il devrait me permettre de sauvegardé une base de donnée!
voici le script:

#!/bin/sh
# Script de sauvegarde des bases mysql
# Ce script fait un dump de la base MySQL et tar.gzip le fichier dumpe
#
# Syntaxe: save_mysql.sh Nomdelamachine Nom_de_la_base_de_données user mot_de_passe

#

# --- Definition des variables
date=`date +'%H:%M:%S %d/%m/%Y'`
file=`date -I`
repTrav=/Backup
repSave=/Backup
Host="$1"
baseSave="$2"
user="$3"
password="$4"

echo Sauvegarde journaliere $2

# --- Deplacement des fichier
rm $repSave/$baseSave.tar.gz.4
mv $repSave/$baseSave.tar.gz.3 $repSave/$baseSave.tar.4
mv $repSave/$baseSave.tar.gz.2 $repSave/$baseSave.tar.3
mv $repSave/$baseSave.tar.gz.1 $repSave/$baseSave.tar.2
mv $repSave/$baseSave.tar.gz $repSave/$baseSave.tar.1

# --- Sauvegarde
mysqldump --opt -h $1 -u $user --password=$password $baseSave > $repTrav/$baseSave-$file.sql
cd $repTrav
tar -czf $repSave/$baseSave.tar.gz $baseSave-$file.sql
chmod 600 $repSave/$baseSave.tar.gz
rm $repTrav/$baseSave-$file.sql

# --- On fait un petit rapport
echo $date -- Sauvegarde journaliere de $2 >> $repSave/rapport.log
------------------------------------------------------------------------------------------------------------------------------------------------------

voici lerreur:

bkp_db.sh: 1: #!/bin/sh: not found
: not found8:
: not found10:
: not found11:
: not found15:
: not found16:
: not found17:
: not found18:
Sauvegarde journaliere offreemploiplus
: not found20:
: not found27:
/-.sql: Directory nonexistent/Backup
cd: 30: can't cd to /Backup
tar : l'option « -- . » n'est pas valable
Pour en savoir davantage, faites : « tar --help » ou « tar --usage ».
chmod: ne peut accéder `/Backup\r/.tar.gz': Aucun fichier ou dossier de ce type
chmod: ne peut accéder `\r': Aucun fichier ou dossier de ce type
rm: ne peut enlever `/Backup\r/-.sql': Aucun fichier ou dossier de ce type
rm: ne peut enlever `\r': Aucun fichier ou dossier de ce type
: not found34:
: Directory nonexistentreate /Backup
-----------------------------------------------------------------------------------------------------------------------------------------------------
là je suis un peu perdu! aider moi SVP! Merci

Tous ceci se passe sous Ubuntu V8.0
Configuration: Windows XP
Safari 525.19

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il semblerait que ton script comporte des caractères bizarroïdes avant le shebang ;-((
    bkp_db.sh: 1: #!/bin/sh: not found

    Affiches-nous la sortie de :
    cat -A bkp_db.sh
    sef -n l bkp_db.sh
    histoire de vérifier les caractères non-imprimables déjà...

    PS. Pour "sed" c'est un ELLE minuscule et non pas un UN, hein ? ;-))
    0
    1. OBV Messages postés 12 Date d'inscription   Statut Membre
       
      Merci pour mavoir repondu si vite!

      voilà: ce qui est bizard cest qu"on ne peut pas voir cest caractaires lors de l'edition du ficher!

      Mais voici le resultat de : cat -A bkp_db.sh

      sudo cat -A bkp_db.sh
      [sudo] password for amenophis:
      M-oM-;M-?#!/bin/sh ^M$
      # Script de sauvegarde des bases mysql ^M$
      # Ce script fait un dump de la base MySQL et tar.gzip le fichier dumpe ^M$
      # ^M$
      # Syntaxe: save_mysql.sh Nomdelamachine Nom_de_la_base_de_donnM-CM-)es user mot_ de_passe ^M$
      # 18/03/04 -- par tbd ^M$
      # ^M$
      ^M$
      # --- Definition des variables ^M$
      date=`date +'%H:%M:%S %d/%m/%Y'` ^M$
      file=`date -I` ^M$
      repTrav=/Backup^M$
      repSave=/Backup^M$
      Host="$1"^M$
      baseSave="$2" ^M$
      user="$3" ^M$
      password="$4" ^M$
      ^M$
      echo Sauvegarde journaliere $2 ^M$
      ^M$
      # --- Deplacement des fichier ^M$
      rm $repSave/$baseSave.tar.gz.4 ^M$
      mv $repSave/$baseSave.tar.gz.3 $repSave/$baseSave.tar.4 ^M$
      mv $repSave/$baseSave.tar.gz.2 $repSave/$baseSave.tar.3 ^M$
      mv $repSave/$baseSave.tar.gz.1 $repSave/$baseSave.tar.2 ^M$
      mv $repSave/$baseSave.tar.gz $repSave/$baseSave.tar.1 ^M$
      ^M$
      # --- Sauvegarde ^M$
      mysqldump --opt -h $1 -u $user --password=$password $baseSave > $repTrav/$baseSa ve-$file.sql ^M$
      cd $repTrav ^M$
      tar -czf $repSave/$baseSave.tar.gz $baseSave-$file.sql ^M$
      chmod 600 $repSave/$baseSave.tar.gz ^M$
      rm $repTrav/$baseSave-$file.sql ^M$
      ^M$
      # --- On fait un petit rapport ^M$
      echo $date -- Sauvegarde journaliere de $2 >> $repSave/rapport.log^M$
      ----------------------------------------------------------------------------------------------------------------------
      et celui de : sef -n l bkp_db.sh

      sudo sed -n l bkp_db.sh
      \357\273\277#!/bin/sh \r$
      # Script de sauvegarde des bases mysql \r$
      # Ce script fait un dump de la base MySQL et tar.gzip le fichier dump\
      e \r$
      # \r$
      # Syntaxe: save_mysql.sh Nomdelamachine Nom_de_la_base_de_donn\303\
      \251es user mot_de_passe \r$
      # 18/03/04 -- par tbd \r$
      # \r$
      \r$
      # --- Definition des variables \r$
      date=`date +'%H:%M:%S %d/%m/%Y'` \r$
      file=`date -I` \r$
      repTrav=/Backup\r$
      repSave=/Backup\r$
      Host="$1"\r$
      baseSave="$2" \r$
      user="$3" \r$
      password="$4" \r$
      \r$
      echo Sauvegarde journaliere $2 \r$
      \r$
      # --- Deplacement des fichier \r$
      rm $repSave/$baseSave.tar.gz.4 \r$
      mv $repSave/$baseSave.tar.gz.3 $repSave/$baseSave.tar.4 \r$
      mv $repSave/$baseSave.tar.gz.2 $repSave/$baseSave.tar.3 \r$
      mv $repSave/$baseSave.tar.gz.1 $repSave/$baseSave.tar.2 \r$
      mv $repSave/$baseSave.tar.gz $repSave/$baseSave.tar.1 \r$
      \r$
      # --- Sauvegarde \r$
      mysqldump --opt -h $1 -u $user --password=$password $baseSave > $repT\
      rav/$baseSave-$file.sql \r$
      cd $repTrav \r$
      tar -czf $repSave/$baseSave.tar.gz $baseSave-$file.sql \r$
      chmod 600 $repSave/$baseSave.tar.gz \r$
      rm $repTrav/$baseSave-$file.sql \r$
      \r$
      # --- On fait un petit rapport \r$
      echo $date -- Sauvegarde journaliere de $2 >> $repSave/rapport.log\r$

      --------------------------------------------------------------------------------------------------------------------
      Merci! et @+
      0
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut jipicy,

      sef -n l bkp_db.sh

      PS. Pour "sed" c'est un ELLE minuscule et non pas un UN, hein ? ;-))

      Et pour osef ?!! ;-DDDD
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Oups ;-))
        0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,
    perl -pi.orig -e 's/\r//' bkp_db.sh 
    0
    1. OBV Messages postés 12 Date d'inscription   Statut Membre
       
      salut!
      sa fait quoi au faite! ton script perl? merci
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > OBV Messages postés 12 Date d'inscription   Statut Membre
         
        Ça supprime le "\r" (retour chariot, caractère spécial à M$) en fin de ligne.
        0
  3. maka13 Messages postés 78 Statut Membre 4
     
    hello

    ^M c'est parceque le script à été écrit avec win nan ?

    Parceque tu a l'utilitaire dos2unix qui permet de repasser au format unix :)

    bye
    0
    1. OBV Messages postés 12 Date d'inscription   Statut Membre
       
      salut
      et comment solutionné celà? merci
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > OBV Messages postés 12 Date d'inscription   Statut Membre
         
        En appliquant les conseils donnés au post précédent (dos2unix) ou ceux de lami20j au post #3 !
        0
      2. OBV Messages postés 12 Date d'inscription   Statut Membre > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ok je essaié ce là merci!
        0
  4. OBV Messages postés 12 Date d'inscription   Statut Membre
     
    ok!
    mon script marche! je remerci tous le monde à cet effet!
    mais voici un autre souci que j'ai:

    Comment, ou , est il possible d'utiliser Mail (du paquet Mail) pour envoyer des messages avec Fichiers Attachéent?

    merci et bonne Année à tous
    0