• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

cronjob rsync nicht als root

Hallo zusammen.

ich habe mir ein kleines Script geschrieben welches mittels Rsync 2 Verzeichnisse abgleichen soll. das Script ist mittels chmod +x ausführbar und läuft.
Ich habe auf einem entferneten Rechner ssh Zugriff jedoch nicht als root sondern als Benutzer meier.

Nun möchte ich das sich das Script mittels cron jede Nacht selbstständig macht. mit
crontab -u meier /var/spool/cron/tabs

wurde die crontab für meier erstellt. Diese ist wie folgt ergänzt worden.
30 22 * * 1,2,3,4,5 /usr/local/bin/backup.sh

Dieser Job wird aber nicht angefasst. es taucht auch nichts in /var/log/* auf, was mich weiterbringen könnte.

Nur das hier:

Jan 15 07:44:01 rechner08 /usr/sbin/cron[3425]: (meier) RELOAD (tabs/meier)

Ich vermute folgendes:

da ich ja nicht als root auf den entfernten Rechner komme, müsste ich mein kleines Script mit dem Hinweis versehen, dass er rsync -av user@rechner:/* /media/backup/ nicht als Root sondern als User meier ausführen soll. Nur wie geht das??????

Dann würde ich das Script mal über die Crontab von Root versuchen zu starten und hoffen, dass es dann klappt.

Vielen Dank
 
was soll eigentlich diese Hinweis in der angelgten Crontab bedeuten`

Do not edit this File- Edit the master and reinstall
 
kochanowski schrieb:
was soll eigentlich diese Hinweis in der angelgten Crontab bedeuten`
Das bedeutet, dass die crontab vom cron-deamon geladen wurde.

Eigentlich müsste der Job um 22:30 (Montag bis Freitag) anlaufen und um diese Uhrzeit einen Eintrag in /var/log/messages hinterlassen.

Im Fehlerfall auf sind auf jeden Fall die Mails des entsprechenden Benutzers zu prüfen. Hast du dort schon mal nachgesehen?

cron.allow bzw. cron.deny könnte auch noch ein Thema sein (Siehe hierzu man crontab )
 
genau!

Aber er führt den Job gar nicht aus. Er bringt nur die meldung unter var/log/messages dass er die crontab neu aufgebaut hat. So interpretiere ich es jedenfalls,

Unter cron.deny ist der user meier nicht enthalten.

cron.allow ist nicht existent. Er geht daher nur nach .deny

unter /var/spool/mail ist kein Postfach vorhanden. da müsste ich wohl den pop3d nachrüsten?
 
kochanowski schrieb:
unter /var/spool/mail ist kein Postfach vorhanden. da müsste ich wohl den pop3d nachrüsten?
Das hat erstmal nichts mit POP3 zu tun.

Folgender Ablauf als Beispiel mit einem Benutzer, der weder crontab noch "Postfach" hat
Code:
prompt> ls /var/spool/mail
prompt> crontab -e       # ich trage ein:    * * * * * /gibt/es/nicht
crontab: installing new crontab
prompt> # hier eine Minute warten
prompt> tail -5 /var/log/messages
Jan 13 10:26:28 host crontab[28243]: (myuser) BEGIN EDIT (myuser)
Jan 13 10:26:42 host crontab[28243]: (myuser) REPLACE (myuser)
Jan 13 10:26:42 host crontab[28243]: (myuser) END EDIT (myuser)
Jan 13 10:27:01 /usr/sbin/cron[2667]: (myuser) RELOAD (/tabs/myuser)
Jan 13 10:28:01 /usr/sbin/cron[28247]: (myuser) CMD (/gibt/es/nicht)
prompt> ls /var/spool/mail 
myuser
prompt> mail
mailx version nail 11.25. 7/29/05.   Type ? for help
"/var/spool/mail/myuser": 1 messages 1 new
>N  1 myuser@host. Tue Jan 13 10:28    19/687   Cron <myuser@host>
?

In dieser Mail ist dann zu finden, dass cron das Kommando /gibt/es/nicht erwartungsgemäß nicht finden kann.
 
Oben