cron + rsync = probleme

DMM23

DMM23

Doppel-As
Mahlzeit, ich habe folgendes problem

crontab
SHELL=/bin/sh
PATH=/mnt/hdb1

#---------------------------------------------
# m h dom mon dow command

* * * * * root /mnt/hdb1/rsync.sh

dazu das script dateiname "rsync.sh"
#!/bin/sh
rsync -avp --delete -b --backup-dir=/mnt/hdb1/alt /mnt/sda1/archiv /mnt/hdb1

rein theoretisch sollte jede minute ein backup gemacht werde. dies tut es aber nicht. der befehl von rsync ist richtig. funktioniert wenn ich es in die shell eintippe. dh. cronmacht mir kopfzermatern.

würde mich über hilfe freuen.


MfG
 
Moin

ich würde sagen, versuchs doch mal mit
Code:
* * * * * /mnt/hdb1/rsync.sh
weil ich grade keine Idee habe was da noch ein "root" vor dem kommando sucht

mfg
HeadCrash
 
Das 'root' vor dem Befehl gibt den Benutzer an, der das Skript ausführen soll.

Ich würde einfach mal einen einfachen MTA ala Exim4 installieren, so dass er dir lokale Mails zustellen kann und dann trägst du einfach ein

Code:
MAILTO=root

in den Kopf deiner crontab ein. Das sorgt dafür, dass Fehlermeldungen als Email an root geschickt werden. Ansonsten einen Blick in die Syslogs werfen und schauen ob es Fehler bezüglich dieses Cronjobs gibt.
 
Ist mir in der Form noch nicht Untergekommen, da ich eigentlich immer die crontabdes Users verwende bzw in der root crontab mit "su username -c" werkel.
 
*edit*

ich befürchte ich habe mein fehler gefunden und schäme mich etwas in grund und boden.

ich habe im fstab die platte hdb1 im mountpunkt /mnt/backup eingetragen und vergessen das zu ändern, bzw zu mounten. es war auch kein ordner backup vorhanden. darum bin ich beim mount -a gerade drauf gekommen. habe also die ganze zeit mit /mnt/hdb1 im crontab ein nicht vorhandenes ziel angesprochen.

jaja der kaffe wirkt wunder.


aber es läuft noch immer nicht, ob nicht mal jemand eine beispiel config hat für mich ?
 
Zuletzt bearbeitet:
aber es läuft noch immer nicht, ob nicht mal jemand eine beispiel config hat für mich ?

Was für eine Beispielkonfiguration?

Hast du mal das probiert, was ich empfohlen hatte und dir den Fehler/Output als Mail zuschicken lassen?
 
schon klar aber an welch? meine habe ich nirgends eingetragen ?
 
schon klar aber an welch? meine habe ich nirgends eingetragen ?

Ich zitiere mich mal selbst:

...und dann trägst du einfach ein

Code:
MAILTO=root

in den Kopf deiner crontab ein. Das sorgt dafür, dass Fehlermeldungen als Email an root geschickt werden. Ansonsten einen Blick in die Syslogs werfen und schauen ob es Fehler bezüglich dieses Cronjobs gibt.
 
vermutlich hat der cron keine Umgebung, versuchs mal mit dem ganzen Pfad (/usr/bin/rsync).
 
also die datei befindet sich nun bei /usr/bin/rsync.sh

und eine mail habe ich auch nert erhalten. als würde crontab nichtmal aktiv sein.

*edit* es läuft nun einwandfrei.
 
Zuletzt bearbeitet:
da hast du mich falsch verstanden. Cron findet rsync nicht, weil er keine Umgebung (vor allem keine Pfadvariable) hat. Damit hat dein Skript auch keine Pfadvariable. Das Skript kann stehen wo es will, der Eintrag in der crontab muss sowieso den ganzen Pfad dahin enthalten, aber im Skript muss statt "rsync" "/usr/bin/rsync" stehen.

was heisst denn "es läuft nun einwandfrei"? Willst du uns jetzt dumm sterben lassen oder dürfen wir auf die Veröffentlichung der Lösung deines Problems hoffen?
 
Man kann alternativ auch direkt in der crontab den PATH definieren, der dann als Umgebungsvariable für alle Cronjobs verwendet wird, so dass man keine absoluten Pfade in den Skripten verwenden muss. Dazu schreibt man einfach ein

Code:
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

an den Anfang der crontab.
 
ich hab gelogen: folgende Minimalumgebung hat cron (für root), da ist /usr/bin im Pfad:
SHELL=/bin/sh
USER=root
PATH=/usr/bin:/bin
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
_=/usr/bin/env
 
ne verzeit, dumm sterben soll hier niemand.

naja ich befürchte meinf ehler war einfach das ich vergessen habe chmod auf das script zu legen ( wenn man das so sagt). ergo war das keine rechte auf der datei waren und sie nciht ausführbar war.

nun funktioniert es und meine backups werden 2 mal am tag gemacht.

danke euch
 

Ähnliche Themen

Shellskript - Fehler in Cron

Windows clients können nicht mehr auf lange laufendes System zugreifen

Mondorescue über Cron-Job

problem mit rsync shell-script

Globale crontab wird ignoriert OBSD 3.8

Zurück
Oben