cronjob

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

cronjob

Beitrag von nixdorf » 16.01.2006 19:03:51

Hallo,

ich möchte ein backupscript über einen cronjob starten. wenn ich das script mit:

/mnt/bck/mo/var/backup -y /var

starte klappt alles das Verzeichnis /var wird in /mnt/bck/mo/var gesichert durch das script backup.


die Zeile in der /etc/crontab sieht so aus:

49 18 * * 1 root /mnt/bck/mo/var/backup -y /var

der cronjob wird auch ausgeführt (/var/log/syslog):

Jan 16 18:49:01 debian /USR/SBIN/CRON[5175]: (root) CMD (/mnt/bck/mo/var/backup -y /var)


aber das script erstellt kein backup.

hier ist das script: http://paste.debian.net/3778

hat da wer eine Idee?




Gruß Nixdorf

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 16.01.2006 20:53:35

Ich habe dieses Script erfolgreich (auch über cron) in meiner chroot Umgebung von Sarge laufen lassen.
Vielleicht ist die PATH Environmentvariable in der /etc/crontab nicht richtig gesetzt.
Ansonsten könntest du dir auch einmal die Ausgaben des Scripts genauer anschauen. Entweder über MAILTO oder mit Umleitung in ein eigenes Logfile

Gruß
gms

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 17.01.2006 18:45:58

Hallo, so sieht die Pathangabe aus:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

wofür sind den die Path - Angaben in der crontab? Das Backupscript nutzt die Kornshell, muß ich da auch etwas angeben, oben steht ja SHELL=/bin/sh.

Gruß Nixdorf

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 17.01.2006 19:30:10

Ich habe bei meinem Test ganz bewußt diesen SHELL-Eintrag auf "/bin/sh" belassen und es hat trotzdem funktioniert.
Ohne einer PATH-Angabe wird der PATH für alle Cronjobs defaultmäßig auf "/usr/bin:/bin" gesetzt. Die "User-Settings" weichen oft von diesen ab, womit es schon öfters zu unterschiedlichem Verhalten kommt.
In deinem Fall ist aber dieser Eintrag in Ordnung. Dein Script benötigt ja nur Programme, die unter /bin bzw /usr/bin zu finden sind.

Gruß
gms

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 17.01.2006 20:15:27

hmm ...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 17.01.2006 20:27:56

:?:
gms hat geschrieben:IAnsonsten könntest du dir auch einmal die Ausgaben des Scripts genauer anschauen. Entweder über MAILTO oder mit Umleitung in ein eigenes Logfile
willst du nicht ?

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 17.01.2006 21:30:49

hallo,

wie schaue ich mit die Ausgabe denn an mit einer Umleitung? bin leider noch nicht so firn in der scriptprogrammierung.

ich verstehe das auch nicht, dies ist die ausgabe von syslog, wenn ich über cronjob starte:


Jan 17 21:48:01 debian /USR/SBIN/CRON[15390]: (root) CMD (/mnt/bck/di/etc/backup -y /etc)

siht doch ok aus. wenn ich in der konsole "/mnt/bck/di/etc/backup -y /etc" eingebe klappt es auch.

Gruß Nixdorf

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 17.01.2006 22:25:26

esetze einmal das Kommando in der crontab durch:

Code: Alles auswählen

/mnt/bck/di/etc/backup -y /etc 1>/var/log/mybackup.log 2>&1
wenn das noch zuwenig Aufschluß gibt

Code: Alles auswählen

pdksh -x /mnt/bck/di/etc/backup -y /etc 1>/var/log/mybackup.log 2>&1
Mit dem zweiten Befehl werden dir auch alle ausgeführten Kommandos innerhalb des Scripts geloggt. Z.B. erzeugt ein "echo bla" dann im Logfile folgende Ausgabe:

Code: Alles auswählen

+ echo bla
bla
Gruß
gms

nixdorf
Beiträge: 450
Registriert: 12.11.2004 09:38:34

Beitrag von nixdorf » 18.01.2006 14:32:04

Hallo,

ich habe es ausprobiert, wenn ich die Zeile so in der crontab eingebe:

/mnt/bck/di/etc/backup -y /etc 1>/var/log/mybackup.log 2>&1


dann erscheint der Logfile und sieht auch gut aus. Das Backup wird ebenfalls erstellt.

Schreibe ich nur dies in die crontab:

/mnt/bck/di/etc/backup -y /etc


Wird kein Backup erstellt. Bin da etwas ratlos.


Gruß Nixdorf

Antworten