[gelöst] Konsole wird nach Script nicht wieder frei gegeben.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
andreas123
Beiträge: 195
Registriert: 11.02.2007 21:15:49

[gelöst] Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von andreas123 » 04.10.2009 19:26:32

Hallo,

ich verwende das Backup-Script aus dem Wiki mit einer kleinen Ergänzung. Wenn ich das Script manuell, von der Konsole aufrufe, gibt es die Konsole nicht wieder frei. Es hilft dann nur Strg+c.

Code: Alles auswählen

#
mount -o remount,rw /dev/sdb /srv/backup 
set $(date)
mysqldump -u root --password=xxxx --all-databases > "/srv/backup/database/all_db_$6-$2-$3.sql"
gzip "/srv/backup/database/all_db_$6-$2-$3.sql"
chmod -R 400 /srv/backup
mount -o remount,ro /dev/sdb /srv/backup
Was mache ich da falsch?

Gruß
Andreas
Zuletzt geändert von andreas123 am 13.10.2009 22:28:34, insgesamt 1-mal geändert.

Benutzeravatar
Akendo
Beiträge: 45
Registriert: 01.10.2009 16:33:49
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von Akendo » 05.10.2009 07:45:32

Wie rufst du das Script denn auf? Ich sehe naemlich keine Shebang.

andreas123
Beiträge: 195
Registriert: 11.02.2007 21:15:49

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von andreas123 » 05.10.2009 07:55:40

Hallo,

cd /etc/cron.daily
./sql-backup.sh

Das Backup wird dann erstellt, aber der Cursor blinkt auf der Konsole weiter bis ich Strg+c eingebe.

Gruß
Andreas

uname
Beiträge: 12426
Registriert: 03.06.2008 09:33:02

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von uname » 05.10.2009 08:49:59

http://de.wikipedia.org/wiki/Shebang

Versuche vielleicht mal als erste Zeile (Achtung, das ist kein Kommentar, keine Leerzeichen):

Code: Alles auswählen

#!/bin/bash
Auch kannst du mittendrin und am Ende noch mal per

Code: Alles auswählen

echo "Hallo Welt"
was ausgeben.

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von Meillo » 05.10.2009 09:55:24

Mach mal ein `lsof | grep /srv/backup' rein -- vielleicht gibt's noch offene Dateien weshalb der mount blockiert. (Oder ist das bei einem remount egal?)
Use ed once in a while!

andreas123
Beiträge: 195
Registriert: 11.02.2007 21:15:49

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von andreas123 » 05.10.2009 10:55:07

Danke für die Tipps!

Wenn ich heute Abend zu Hause bin, werde ich es ausprobieren.

Gruß
Andreas

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von Spasswolf » 05.10.2009 12:47:26

Code: Alles auswählen

chmod -R 400 /srv/backup
halte ich für keine gute Idee, guck dir die Daten danach mal mit "ls -l" an.

andreas123
Beiträge: 195
Registriert: 11.02.2007 21:15:49

Re: Konsole wird nach Script nicht wieder frei gegeben.

Beitrag von andreas123 » 05.10.2009 19:25:24

Es war einfach nur meine eigene Dummheit :oops:

Mit dem

Code: Alles auswählen

chmod -R 400 /srv/backup
habe ich bei jeder Ausführung ein chmod auf tausende gesicherte Dateien gemacht.
Richtig wäre gewesen:

Code: Alles auswählen

chmod -R 400 /srv/backup/database
Das Script habe ich abgeändert und sieht jetzt so aus:

Code: Alles auswählen

#!/bin/bash
mount -o remount,rw /dev/sdb /srv/backup
set $(date)
mysqldump -u root --password=xxxx --all-databases | gzip > "/srv/backup/database/all_db_$6-$2-$3.sql.gz"
mount -o remount,ro /dev/sdb /srv/backup
exit
Danke für Eure Hilfe!

Grüße
Andreas

Antworten