[GELÖST] Cronjobs (Benno Mailarchiv)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

[GELÖST] Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 18:35:43

Guten Abend,

ich habe auf einem Debian (Wheezy, 32bit)-Server die E-Mailarchivierung Openbenno-Mailarchiv installiert. Alles funktioniert soweit, bis auf die regelmäßige Abfrage einer Archivmailbox über einen Cronjob.
Der Hersteller gibt als Mustercronjob

Code: Alles auswählen

# /etc/cron.d/benno-pop3: POP3 connector for Benno MailArchiv
#
#
*/15 * * * * benno [ -x /usr/local/sbin/benno-pop3 ] && /usr/local/sbin/benno-pop3 -H mailgw.lw-systems.net -u mailimport -p secret -d


an, wobei benno-pop3 ein eigenständiges Script ist und die Argumente danach natürlich angepasst werden. Der Dateibesitzer ist "benno" (Nutzer ist wirklich vorhanden), die Datei hat die Berechtigung 0755.
Wenn ich die Befehlskette

Code: Alles auswählen

/usr/local/sbin/benno-pop3 -H mailgw.lw-systems.net -u mailimport -p secret -d


als root in die Shell eingebe, werden die E-Mails aus dem angegebenen Postfach abgerufen, das Grundkonstrukt funktioniert also (zur Archivierung muss ich diese noch in die Eigentümerschaft von "benno" überführen). Was mache ich falsch, dass die Mails nicht über den nach dem o.g. Muster angelegten Cronjob (über crontab -e) abgerufen werden?
Das Syslog weist außer der Ausführung des Cronjobs alle 15 min keine Besonderheiten auf.
Danke für Eure Hilfe oder Ideen,
Gruß,

Connor

EDIT: Weitere Information angefügt.
Zuletzt geändert von Connor0308 am 01.01.2015 15:51:02, insgesamt 1-mal geändert.

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Cronjobs (Benno Mailarchiv)

Beitrag von 4A4B » 30.12.2014 18:52:17

Enthält das Password vielleicht irgendwelche Sonderzeichen? Cron interpretiert beispielsweise das % als Zeilenumbruch.
Wenn ich die Befehlskette

Code: Alles auswählen

 /usr/local/sbin/benno-pop3 -H mailgw.lw-systems.net -u mailimport -p secret -d
als root in die Shell eingebe
... und als User benno? die User-ID wechseln kannst du (als root) über "su benno"

Fehlermeldungen sollte Cron in das Postfach des betreffenden Users, also in diesem Fall von benno, ablegen.

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 19:03:50

Hallo 4A4B,
4A4B hat geschrieben:Enthält das Password vielleicht irgendwelche Sonderzeichen? Cron interpretiert beispielsweise das % als Zeilenumbruch.
Danke für den Hinweis - darauf bin ich vorher schon reingefallen. Das Passwort enthält nur Buchstaben und Zahlen.
4A4B hat geschrieben:
Wenn ich die Befehlskette

Code: Alles auswählen

 /usr/local/sbin/benno-pop3 -H mailgw.lw-systems.net -u mailimport -p secret -d
als root in die Shell eingebe
... und als User benno? die User-ID wechseln kannst du als (als root) über "su benno"
Spannend... Der Wechsel auf den Nutzer funktioniert nicht (die Shell zeigt weiterhin root@xxx) ... Der Eintrag für benno in /etc/passwd lautet

Code: Alles auswählen

benno:x:104:108::/home/benno:/bin/false
- es gibt ihn also...

Gruß,

Connor

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Cronjobs (Benno Mailarchiv)

Beitrag von 4A4B » 30.12.2014 19:27:30

Ja, benno hat die Shell /bin/false, und kann sich deswegen nicht einloggen (was wohl Ok ist)

Probier mal so:

Code: Alles auswählen

su - benno -s /bin/bash

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 19:35:07

Damit klappt der Wechsel auf "benno" - danke dafür.
Allerdings läuft die Befehlskette

Code: Alles auswählen

/usr/local/sbin/benno-pop3 -H mailgw.lw-systems.net -u mailimport -p secret -d
auch mit diesem Benutzer problemlos durch.
Das Problem scheint damit eher in dem Cronjob zu liegen :?:

DeletedUserReAsG

Re: Cronjobs (Benno Mailarchiv)

Beitrag von DeletedUserReAsG » 30.12.2014 19:41:58

[ -x /existierende/datei ] gibt bei mir immer 1 zurück. Anderen Weg versuchen, die Existenz der Datei festzustellen? Oder gleich weglassen, wenn sichergestellt ist, dass sie da ist?

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 19:55:38

Das hatte ich bereits versucht - leider ebenfalls ohne Erfolg.

DeletedUserReAsG

Re: Cronjobs (Benno Mailarchiv)

Beitrag von DeletedUserReAsG » 30.12.2014 20:02:10

Leider schreibst du nicht, was genau du versucht hast.

Was auch noch zu prüfen wäre: sind in dem Script irgendwelche anderen Scripts/Binaries referenziert, die dort heraus aufgerufen werden? Wenn ja, ist $PATH in dem Script explizit und richtig gesetzt, oder stehen alternativ sämtliche Aufrufe mit vollem Pfad drin?

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 20:17:12

niemand hat geschrieben:Leider schreibst du nicht, was genau du versucht hast.
Du hast recht - das, was mich sonst selbst immer ein wenig außer Fassung brint: A oder B? Ja...

Also nochmal von vorn: Du hattest vorgeschlagen, den Teil des Befehls, der das Vorhandensein des Skript prüft, wegzulassen - dieses habe ich gemacht, aber leider ohne Erfolg.

Weitere Skripte werden nicht aufgerufen, PATH-Variablen sind nicht gesetzt, der im ersten Post genannte Eintrag ist der einzige Eintrag in der Crontab.

Gruß,

Connor

DeletedUserReAsG

Re: Cronjobs (Benno Mailarchiv)

Beitrag von DeletedUserReAsG » 30.12.2014 20:19:45

Ich meinte das Script /usr/local/sbin/benno-pop3 – werden aus diesem heraus irgendwelche anderen Sachen aufgerufen?

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 20:43:15

niemand hat geschrieben:Ich meinte das Script /usr/local/sbin/benno-pop3 – werden aus diesem heraus irgendwelche anderen Sachen aufgerufen?
Da muss ich leider passen - dieses Script habe ich vom Softwarehersteller.
Wenn die Ausführung über die Shell unter dem "richtigen" Benutzer benno funktioniert, können es dann überhaupt Abhängigkeitsprobleme sein?

DeletedUserReAsG

Re: Cronjobs (Benno Mailarchiv)

Beitrag von DeletedUserReAsG » 30.12.2014 20:46:47

Hab’s mir gerade mal angeschaut – ist Perl. Da habe ich keine Ahnung von. Wenn jemand mit Ahnung drüberschauen möchte, ob und warum es sich in ’nem Environment von Cron unwohl fühlen könnte: http://www.benno-mailarchiv.de/download ... benno-pop3

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 21:39:06

Danke für Deine Mühe.
Da das Script ja aber eigentlich funktioniert (außer per Cronjob), hoffe ich noch auf eine Lösung, die bei mir liegt.
Gruß,

Connor

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Cronjobs (Benno Mailarchiv)

Beitrag von 4A4B » 30.12.2014 21:49:56

Um hierauf nochmal zurückzukommen:
Fehlermeldungen sollte Cron in das Postfach des betreffenden Users, also in diesem Fall von benno, ablegen.
Finden sich im Postfach von benno Mails von Cron?

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 30.12.2014 22:16:52

Nein, von Cron finde ich hier leider keine Nachrichten und damit Hinweise.

Connor0308
Beiträge: 11
Registriert: 11.07.2013 10:34:47

Re: Cronjobs (Benno Mailarchiv)

Beitrag von Connor0308 » 01.01.2015 15:50:40

Guten Tag,

nach langer Suche in verschiedenen Foren habe ich den Fehler gefunden.
Der Befehl

Code: Alles auswählen

crontab -e
verzweigte bei mir nicht in die Systemcronumgebung, sondern in

Code: Alles auswählen

/var/spool/cron/crontabs/root
.
Änderungen wurden damit nicht wie gewünscht ausgeführt. Ein Edit der Datei

Code: Alles auswählen

/etc/crontab
hat das Problem gelöst.

Danke für Eure Unterstützung und Lösungsansätze,

Connor

Antworten