init.d Skript startet nicht mehr regelmäßig

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
AA
Beiträge: 294
Registriert: 16.02.2007 10:39:37

init.d Skript startet nicht mehr regelmäßig

Beitrag von AA » 12.06.2010 10:30:42

Hallo zusammen,

mein Backup Skript wird nicht mehr regelmäßig gestartet. Ich habe die Vermutung, dass ich noch die erforderten Dienste eintragen muss.

Kann mir bitte jemand helfen? Danke!

Code: Alles auswählen

... update-rc.d backup-althoff defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: backup-althoff start runlevel arguments (2 3 4 5) do not match LSB Default-Start values (none)
update-rc.d: warning: backup-althoff stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0)

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          backup-althoff
# Required-Start:    
# Required-Stop:     
# Default-Start:     
# Default-Stop:      0
# Short-Description: backup initscript
# Description:       This file should be used to backup my data.
### END INIT INFO
Gruß Andre

AA
Beiträge: 294
Registriert: 16.02.2007 10:39:37

Re: init.d Skript startet nicht mehr regelmäßig

Beitrag von AA » 12.06.2010 10:35:13

Soeben wurde es beim Herunterfahren angefangen, aber dann abgebrochen. Also so, als ob ein Dienst fehlen würde. Wenn ich das Skript von Hand ausführe, dann läuft es durch.

Fürs Backup verwende ich rsync.
Gruß Andre

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22456
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: init.d Skript startet nicht mehr regelmäßig

Beitrag von KBDCALLS » 12.06.2010 10:38:53

Lenny oder Squeeze ?
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: init.d Skript startet nicht mehr regelmäßig

Beitrag von cosmac » 12.06.2010 13:12:08

hi,

das Problem dürfte sein, dass in Squeeze die Scripte teilweise gleichzeitig laufen. Dann kann es passieren, dass das Backup-Script von "sendsigs" abgebrochen wird oder dass es erst nach "umountfs" gestartet wird.

Eine simple Lösung wäre, das Backup-Script als allererstes und nicht parallel mit anderen laufen lassen. "$all" sagt, dass alle Dienste noch laufen müssen, während es ausgeführt wird:

Code: Alles auswählen

# Required-Start:    
# Required-Stop:     $all
# Default-Start:     
# Default-Stop:      0
Eigentlich sollte es auch reichen, wenn noch kein umount gemacht wurde und der syslogd noch läuft, aber da bin ich nicht so sicher:

Code: Alles auswählen

# Required-Start:    
# Required-Stop:     $local_fs $syslog
# Default-Start:     
# Default-Stop:      0
Eine interessante Ergänzung wäre es, wenn das Backup erst startet, wenn die normalen Daemonen wie z.B. exim schon gestoppt sind. Dann könnte man deren Daten auch sichern. In dem Fall muss man dafür sorgen, dass "sendsigs" erst gestartet wird, wenn das Backup fertig ist:

Code: Alles auswählen

# Required-Start:    
# Required-Stop:     $local_fs $syslog sendsigs
# X-Stop-After:      exim4
# Default-Start:     
# Default-Stop:      0
Man kann diese Einstellungen auch einfach ohne Reboot testen, in /etc/rc0.d sieht man genau, was in welcher Reihenfolge und was gleichzeitig ausgeführt wird:

Code: Alles auswählen

insserv -r script
vi script
insserv script
ls -l /etc/rc0.d
Politisch korrekter wäre es, "update-rc.d" statt "insserv" zu verwenden, aber das liefert irreführende Warnungen und ruft intern eigentlich auch nur insserv auf.
Beware of programmers who carry screwdrivers.

AA
Beiträge: 294
Registriert: 16.02.2007 10:39:37

Re: init.d Skript startet nicht mehr regelmäßig

Beitrag von AA » 19.06.2010 14:18:50

Die letzte Variante hat nicht funktioniert, da in einem Backup Script das cd vorm rsync-Befehl so nicht durchgeführt wird. Somit wird das Backup immer aus dem Wurzelverzeichnis durchgeführt, bis die Festplatte voll ist. Das cd war in dem Script notwendig, weil ich es mit dem Leerzeichen vom Windows-Verzeichnis in der rsync Syntax sonst nicht hinbekommen habe.

Die Variante mit all funktioniert!

Danke!
Gruß Andre

Benutzeravatar
bmario
Beiträge: 1257
Registriert: 05.09.2007 12:15:47
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Re: init.d Skript startet nicht mehr regelmäßig

Beitrag von bmario » 20.06.2010 22:52:34

Ich würde mal behaupten, dass es der falsche Weg ist ein Init script zu schreiben für ein Backup.
Initskripte sollen eigentlich "nur" Daemons starten bzw. stoppen und nicht langwierige Aufgaben erfüllen.
(die einzige Ausnahme ist wohl fsck) So ist es für mich auch kein Wunder, dass beim herunterfahren das Skript beendet wird, es kriegt halt vom Kernel SIGTERM und SIGKILL, dann er will ja endlich den Shutdown machen.

Ich denke mal mit cron oder ähnliches kommst du wohl besser.

mario
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse

Antworten