Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Shell-Script (Bash)
Hallo,
ich habe zwei Fragen:
1. Der unten stehende Abschnitt ist Teil eines Shell-Scriptes, das nachts BackUps für mich ausführt. Eigentlich geht das Script nach dem quit noch weiter, jedoch bricht es dort ständig ab. Was mache ich falsch?
# Upload BackUp
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put ${BACKUP} ${BACKUP_FILE}
quit
2. Ich habe einen Zähler $I. Wie muss die Syntax einer Abfrage sein, die immer dann etwas macht, wenn $I nicht durch 10 teilbar ist (wenn also ein Rest bleibt)?
Ich hoffe dass mir jemand helfen kann!
Cheers,
erdnah
Romanday
15-04-2006, 08:19
Hallo,
Eigentlich geht das Script nach dem quit noch weiter, jedoch bricht es dort ständig ab. Was mache ich falsch?
# Upload BackUp
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put ${BACKUP} ${BACKUP_FILE}
quit
Ich hoffe dass mir jemand helfen kann!
Cheers,
erdnah
quit heißt Verbindung beenden, so einfach ist das.:D
Für deine Zähler Frage bilde die Restsumme der ganzzahligen Division.
Hi,
es fehlte das "END_SCRIPT" nach dem quit. Nun passt es... ;)
Ich habe versucht eine Überprüfung zu implementieren, die, nachdem ein neues BackUp hochgeladen worden ist, das BackUp des Vortags löscht, außer die ID des BackUps ist durch 10 teilbar (so dass ich auch ein paar ältere BackUps behalte). Leider erhalte ich stets die Fehlermeldung: "syntax error: unexpected end of file".
Dies ist der relevante Code-Ausschnitt:
# Delete some older BackUps
if test $[$BACKUP_YESTERDAY % 10] -ne "0"
then
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT
echo "Gestriges BackUp (ID "${BACKUP_YESTERDAY}") geloescht."
else
echo "Gestriges BackUp (ID "${BACKUP_YESTERDAY}") behalten."
fi
Wenn ich den "FTP-Kram" entferne und mich nur auf "Shell-Befehle" beschränke, gibt es keine Probleme. :?
Gruß,
erdnah
das END_SCRIPT muss ganz nach links
if test $[$BACKUP_YESTERDAY % 10] -ne "0"
then
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT
echo "Gestriges BackUp (ID "${BACKUP_YESTERDAY}") geloescht."
else
Danke, damit klappt's! ;)
Mehlwurm
19-04-2006, 07:11
ist das divisionsproblem auch geregelt?
gibt es in der shell nicht auch den Modulo opperator? %
wenn der nicht null ist gibt es einen rest
Ja, hat mit Modulo geklappt. Läuft super!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.