syntax error unexpected end of file bei Bashscript
Ich habe mir ein Script geschrieben, mit dessen Hilfe ich meinen Webspace sichern und die erstellte tar.gz Datei auf einen FTP-Server legen kann. Anschließend wird eine E-Mail mit den Tar-Logs verschickt.
Leider bekomme ich bei der Ausführung die Fehlermeldung "syntax error: unexpected end of file". Was die Fehlermeldung grob zu bedeuten hat, weiß ich, jedoch kann ich die Ursache dafür nicht finden, da ich noch recht unerfahren bei Bashscripten bin. Ich wäre für Hilfe sehr dankbar.
Konsolenoutput:
Script:
Leider bekomme ich bei der Ausführung die Fehlermeldung "syntax error: unexpected end of file". Was die Fehlermeldung grob zu bedeuten hat, weiß ich, jedoch kann ich die Ursache dafür nicht finden, da ich noch recht unerfahren bei Bashscripten bin. Ich wäre für Hilfe sehr dankbar.
Konsolenoutput:
user@rechner:~/backup/scripts$ ./backup.sh taeglich
+ ARBEITSVERZEICHNIS=/hp/as/ac/ky
+ BACKUPDATEN=/hp/as/ac/ky/backup/daten
+ BACKUPSCRIPTS=/hp/as/ac/ky/backup/scripts
+ WWWROOT=/hp/as/ac/ky/www
+ FTPDOMAIN=abc.def.gh
+ FTPUSER=ftpbenutzer
+ FTPPASSWORT=passwort
+ EMAIL=email@adresse.de
++ /bin/date '+%d.%m.%Y, %k:%M'
+ BACKUPSTART=05.01.2008, 18:45
++ /bin/date +%Y%m%d-%k%M
+ DATUM=20080105-1845
++ /bin/date +%Y%m%d
+ VERZEICHNIS=20080105
+ SPACER=/hp/as/ac/ky/backup/scripts/spacer.txt
./backup.sh: line 138: syntax error: unexpected end of file
Script:
#!/bin/sh
set -x
#################################################
# Backup ausfuehren
#################################################
#
# Backupverzeichnis: /hp/as/ac/ky/backup
# Backupdaten: /hp/as/ac/ky/backup/daten
# Backupscripts: /hp/as/ac/ky/backup/scripts
#
#################################################
# Variablen erstellen
ARBEITSVERZEICHNIS=/hp/as/ac/ky
BACKUPDATEN=$ARBEITSVERZEICHNIS/backup/daten
BACKUPSCRIPTS=$ARBEITSVERZEICHNIS/backup/scripts
WWWROOT=$ARBEITSVERZEICHNIS/www
FTPDOMAIN=abc.def.gh
FTPUSER=ftpbenutzer
FTPPASSWORT=passwort
EMAIL=email@adresse.de
BACKUPSTART=`/bin/date +"%d.%m.%Y, %k:%M"`
DATUM=`/bin/date '+%Y%m%d-%k%M'`
VERZEICHNIS=`/bin/date '+%Y%m%d'`
SPACER=$BACKUPSCRIPTS/spacer.txt
#################################################
# Ab hier nichts mehr ändern!
#################################################
#################################################
# Funktionen
#################################################
function FuncCheckdir ()
{
# Prüfung ob Verzeichnisse vorhanden sind
if [ ! -d $1 ]
then
echo "Verzeichnis $1 nicht vorhanden, wird erstellt."
mkdir $1
fi
return 0
}
function FuncSicherung ()
{
# ins Backupdatenverzeichnis wechseln
cd $BACKUPDATEN
# alte Daten löschen
rm -Rf $BACKUPDATEN/*
# Auswahl des Inhalts per Kommandozeilenparameter
tar -cpvz --atime-preserve -f backup-$DATUM-$1.tar.gz $WWWROOT -X $BACKUPSCRIPTS/$1.lst >& tarlog.txt
# Fehlermeldung abfangen
if [ "$?" != 0 ]
then
backup_msg="Fehler bei der Sicherung"
else
backup_msg="Sicherung erfolgreich beendet"
fi
return 0
}
function FuncUpload ()
{
# Verzeichnisinhalt auf einen FTP-Server legen
ftp -n $FTPDOMAIN << EOT
user $FTPUSER $FTPPASSWORT
put *.tar.gz
quit
EOT
# Fehlermeldung abfangen
if [ "$?" != 0 ]
then
ftp_msg="Fehler beim FTP-Transport"
else
ftp_msg="FTP erfolgreich beendet"
fi
return 0
}
function FuncMail ()
{
start="Backup-Start: $BACKUPSTART"
ende="Backup-Ende: `date +"%d.%m.%Y, %k:%M"`"
echo $text > mail.txt
echo $backup_msg >> mail.txt
echo $ftp_msg >> mail.txt
# mutt -a tarlog.txt -s "Webspace-Backup `date +%d.%m.%Y`" $EMAIL < mail.txt
less $SPACER >> mail.txt
less tarlog.txt >> mail.txt
mail -s "Webspace-Backup `date +%d.%m.%Y`" $EMAIL < mail.txt
return 0
}
#################################################
# Programmablauf
#################################################
# sind Parameter übergeben worden?
if [ $# -lt 1 ]
then
echo "Fehler: kein Parameter"
else
# Prüfung ob Verzeichnis zur Sicherung vorhanden ist
if [ ! -d $WWWROOT ]
then
echo "Verzeichnis nicht vorhanden, Sicherung abgebrochen."
else
FuncCheckdir $BACKUPDATEN
# FuncCheckdir $BACKUPSCRIPTS
FuncSicherung
FuncUpload
FuncMail
fi
fi
#########################################################################
#
# Ausweichlösung mit case
#
#########################################################################
# case "$1" in
# taeglich)
# tar -cpvz --atime-preserve -f /hp/as/ac/ky/backup/daten/backup-$DATUM-$1.tar.gz /hp/as/ac/ky/www -X
# /hp/as/ac/ky/backup/scripts/$1.lst
# ;;
# woechentlich)
# tar -cpvz --atime-preserve -f /hp/as/ac/ky/backup/daten/backup-$DATUM-$1.tar.gz /hp/as/ac/ky/www -X
# /hp/as/ac/ky/backup/scripts/$1.lst
# ;;
# esac
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77308
Url: https://administrator.de/forum/syntax-error-unexpected-end-of-file-bei-bashscript-77308.html
Ausgedruckt am: 25.12.2024 um 01:12 Uhr