Fehlermeldung

J

Janine

Eroberer
Hallo Jungs,

weiss einer wo der fehler ist :(

Backupscript:

Code:
     1  #!/usr/bin/ksh
     2
     3  # Init
     4  BACKUP_DIR="/home/asd/back/export/store/BACKUP"
     5  DATE=`date +%Y_%m_%d_%H_%M`
     6  ERROR_FILE=/home/asd/back/tmp/BACKUP_ERROR
     7  LOG=home/asd/back/backup/log/${DATE}_FULL
     8  START_FILE=/home/asd/back/backup/log/FULL_BACKUP
     9
    10  touch $START_FILE
    11
    12  for I in `ls -d /zones/zone?`
    13  do
    14          echo "Backup $I"   >> $LOG
    15
    16          BACKUP_DIR_ZONE="$BACKUP_DIR/"`echo $I  | awk -F/ ' { print $3 } '`
    17
    18          if [ ! -d $BACKUP_DIR_ZONE ]
    19          then
    20                  mkdir $BACKUP_DIR_ZONE
    21          fi
    22
    23          cd $I ; find . | cpio -ocaVB > $BACKUP_DIR_ZONE/FULL_$DATE.cpio 2> $ERROR_FILE
    24
    25          cat $ERROR_FILE | grep -v "^\." >> $LOG
    26          cat $ERROR_FILE | grep '^cpio: "' | while read LINE
    27          do
    28                  A=`echo $LINE | awk ' { print $2 } ' `
    29                  B=`echo $I/$A | tr -d '"' `
    30                  echo `ls -ld $B ` >> $LOG
    31          done
    32
    33          echo "-------------" >> $LOG
    34
    35
    [COLOR="Red"]36  done[/COLOR]
    37  rm $ERROR_FILE
    38  --------------


Fehlermeldung:

fbutest: line 36: syntax error near unexpected token `done'
fbutest: line 36: `done'
 
Zuletzt bearbeitet:
Formatier das erstmal richtig, da kann man ja nix erkennen, d.h.:

- Einrückungen für "for", "if" usw.
- code-tags nutzen! die raute # rechts oben!
- Im script die Zeilennummer anzeigen lassen. Dein Editor kann das __bestimmt__
 
Ups sry hatte er nicht übernommen :) so besser hoff ich
 
Hallo Janine,

entfern mal das letzte "done" aus dem script und führ es erneut aus.
Ich denke da ist eins zuviel drin.

Des Weiteren isn Fehler in Zeile 7:

Code:
7  LOG=home/asd/back/backup/log/${DATE}_FULL

ersetzen durch

Code:
7  LOG=[B]/[/B]home/asd/back/backup/log/${DATE}_FULL
Gruß Nils
 
Zuletzt bearbeitet:
hmmm ne ist keins zuviel wenn ich weg nehme sagt er

unexpected end of file also muss schon drin sein :)

aber ich seh echt nicht wo der Fehler ist son dreck xD
 
hättest es mal gescheit kopiert könne ich es ja mal testen. Aber so kann ich nur vermuten.
Code:
29                  B=`echo $I/$A | tr -d '"' `

mach mal ein "\" vor das "
also
Code:
29                  B=`echo $I/$A | tr -d '\"' `

Ausserdem änder mal alle `` in $()

Edit:
und escape mal alle $ in den awk's
 
Zuletzt bearbeitet:

Ähnliche Themen

Switche abfragen über Script

sed in awk

Verschlüsseltes Backup-Script mit rsync

Grafische Anzeige der Temperatur

Shell Skript beschleunigen

Zurück
Oben