bash scripte werden nicht vollständig ausgeführt

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
nordlicht
Beiträge: 98
Registriert: 11.01.2005 21:34:51
Wohnort: Hamburg

bash scripte werden nicht vollständig ausgeführt

Beitrag von nordlicht » 27.05.2005 10:16:04

Hallo

ich weiß nicht ob ich in diesem Forum richtig bin, ich probiers einfach mal.

Auf meinem Debian Server (sarge) habe ich verschiedene Backup scripte laufen, die per cron gestartet werden.
Das ganze lief bis vor kurzem reibungslos! Jetzt plötzlich tritt ohne erkennbaren Grund ein merkwürdiger Fehler auf.

Die Scripte enthalten nur verschiedene tar Befehle, die verschiedene Verzeichnisse je in ein tar packen und in ein Verzeichnis schreiben.

Mal werden die Scripte garnicht ausgeführt mal wird nur die erste Zeile ausgeführt. Das Ganze läuft ohne Fehlermeldung ab.
Wenn ich die Scripte von Hand starte dann läuft alles Fehlerfrei.

Hat da jemand eine Idee woran das liegen könte?



danke und Gruss


Chris

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 27.05.2005 10:30:05

Hallo nordlicht,
hast Du "absoute Pfade" in den Scripten?
also nicht

Code: Alles auswählen

tar ... /user ...
sondern

Code: Alles auswählen

fuzzy@sid:~$ which tar
/bin/tar

Code: Alles auswählen

/bin/tar ... /home/user ...
und so weiter, das wäre meine Idee, ansonsten müsstest Du das Script, oder Teile posten.

Gruß fuzzy

nordlicht
Beiträge: 98
Registriert: 11.01.2005 21:34:51
Wohnort: Hamburg

Beitrag von nordlicht » 01.06.2005 09:01:27

Hallo


leider klappt ers immer noch nicht.
Ich hab jetzt die pfade mit reingeschrieben.

Code: Alles auswählen

#! /bin/sh
/bin/rm /local-backup/*
/bin/rm /loc-back-tmp/*
/bin/tar -cjf /local-backup/homemail.mambo.tar.bz2 /home --exclude=/home/daten/*
/bin/tar -cjf /local-backup/datenbank.mambo.tar.bz2 /home/daten/datenbank
/bin/tar -cjf /local-backup/betrieb.mambo.tar.bz2 /home/daten/betrieb
/bin/tar -cjf /local-backup/etc.mambo.tar.bz2 /etc
/bin/chmod -R 644 /local-backup
bzw

Code: Alles auswählen


#! /bin/sh
/bin/rm /local-backup/*
/bin/rm /loc-back-tmp/*
/bin/tar -cjf /local-backup/homemail.mambo.tar.bz2 /home --exclude=/home/daten/*
/bin/tar -cjf /local-backup/datenbank.mambo.tar.bz2 /home/daten/datenbank
/bin/tar -cjf /local-backup/addressbuch.mambo.tar.bz2 /home/daten/addressbuch
/bin/tar -cjf /local-backup/lexware.mambo.tar.bz2 /home/daten/lexware
/bin/tar -cjf /local-backup/samba.mambo.tar.bz2 /var/lib/samba
/bin/chmod -R 644 /local-backup

diese Scripte laufen abwechselnd an geraden bzw ungeraden Tagen ab. Wenn ich die von Hand starte funktionieren sie einwandfrei. Nur von Cron aus laufen sie nicht.

meine Contab sieht so aus:

Code: Alles auswählen


1 1 * * * root /etc/init.d/ntpdate start
30 2 * * 1,3,5 root /sbin/mambo-odd
30 2 * * 2,4,6 root /sbin/mambo-even
Hat da jemand noch nen guten Tipp?

Benutzeravatar
Snoopy
Beiträge: 4296
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 01.06.2005 09:16:22

Hi
#! /bin/sh
Ist das nur ein Tippfehler hier im Post oder ist das wirklich so im Skript ?
( Das Leerzeichen zwischen dem ! und dem / )
Sollte doch normalerweise

Code: Alles auswählen

#!/bin/sh
heissen :?

Evtl könntest du das hier so in Dein Skript / Cronjob eintragen

Code: Alles auswählen

#!/bin/sh

# Pfade setzen
PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11:
[...]

nordlicht
Beiträge: 98
Registriert: 11.01.2005 21:34:51
Wohnort: Hamburg

Beitrag von nordlicht » 03.06.2005 15:37:53

Hallo

Zitat:
#! /bin/sh
Ist das nur ein Tippfehler hier im Post oder ist das wirklich so im Skript ?
( Das Leerzeichen zwischen dem ! und dem / )
Sollte doch normalerweise
Code:
#!/bin/sh
heissen Confused
Ich glaube das ist egal, wenn du dir mal die original Debian Scripte in /etc/init.d/ ankuckst dann kanst du sehen das da ein Teil mit ein Teil ohne Leerzeichen ist


Das mit dem pfad werde ich nochal testen und mich nochmal melden

danke bis hierher erstmal


gruss

chris

M.C.S.
Beiträge: 63
Registriert: 30.01.2004 21:00:57

Beitrag von M.C.S. » 03.06.2005 15:48:10

Aufpassen, dass du am Ende deiner cron-Zeilen eine Leerzeile hast!
Es sollte Standard sein, Standard mit d zu schreiben...

nordlicht
Beiträge: 98
Registriert: 11.01.2005 21:34:51
Wohnort: Hamburg

Beitrag von nordlicht » 08.06.2005 01:44:07

ich hab den Fehler gefunden..... :lol:

in der crontab darf nicht der user auftauchen. nachdem ich jeweils die spalte root entfernt hatte lief alles fehlerfrei

danke für eure mühe



gruss


chris

Antworten