akom
Goto Top

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:
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

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