cron mit getmail lauft nicht aus wiki:Externe Accounts abrufen

Status
Für weitere Antworten geschlossen.

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
hallo forum,

ich habe nachdem ich alles schritt für schritt nach http://www.synology-wiki.de/index.php/Externe_Accounts_abrufen eingetragen habe folgenses problem.

bis zum test von sh getmail.sh läuft alles prima die mails werden abgerufen und ins .Maildir abgelegt.

wenn ich aber die crontab anlege

egon
*/1 * * * * /volume1/homes/egon/getmail.sh &>/dev/null

danach chmod 600 und user für egon setze passiert nichts.

cron habe ich mit

/opt/etc/init.d/S10cron neu gestartet.

was habe ich vergessen was mache ich falsch. bitte nicht zu kurz antworten, ich bin ein noob ;)

cu alex
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Zeig mal den Inhalt von getmail.sh Vermutlich liegt es daran, dass keine absoluten Pfade verwendet wurden.
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
hi jahlives,
hier der inhalt :

#!/bin/sh
/opt/bin/getmail --getmaildir /volume1/homes/egon/.getmail --rcfile=getmailrc-test

aber mit

su egon

sh getmail.sh

funzt es. nur wenn ich es mit cron versuche läuft nichts. ich weiß nicht wo ich nachschauen soll, da kein log vorhanden.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Gib mal einen kompletten Pfad beim rc-file an. Unter welchem User läuft denn dein cronjob? Unter deinem User egon?
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
ja unter egon und ich hatte vorher

#!/bin/sh
/opt/bin/getmail --rcfile /volume1/homes/egon/.getmail/getmailrc-test

stehen hat auch nur mit sh aufruf gefunzt. ich denke das getmail.sh ok ist.
habe sie mit chmod 770 getmail.sh lauffähig gemacht so wie es im wiki steht. bis zum abschnitt cron geht ja auch alles.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Als welcher User hast du denn den Shell Befehl abgesetzt? Als root oder egon? Die Datei getmail.sh gehört auch sicher deinem Benutzer egon?
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
als egon

dann kommen die mails ins richtige verzeichnis.

die neue syntax mit maildir habe ich von der getmail dokumentation für version 4
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Bis jetzt scheinst du alles richtig gemacht zu haben. Am Script dürfte es also nicht liegen.
Die crontab Datei liegt im korrekten Verzeichnis? Ist glaub ich /opt/var/cron/crontabs/
Du kannst den cron auch mal testen.
Code:
killall cron
cron -x test
Warte eine Minute. cron sollte dir jeden Job anzeigen, den er ausführen würde. Wird dein getmail angezeigt?
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
ja datei egon steht in dem verzeichnis und gehört auch benutzer egon

so cron im testmodus gestartet. das kommt

log_it: (egon 7541) CMD (/volume1/homes/egon/getmail.sh &>/dev/null^M)


was muss ich jetzt tun? für mich sieht das ganz ok aus
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
er führt letztendlich die getmail.sh nicht aus wenn ich sie nicht per hand mit sh aufrufe.

normalerweise sollte cron das doch erledigen können nachdem ich mit chmod 770 getmail.sh die skriptdatei dafür vorbereitet habe, oder? kann ich überprüfen, ob die datei entsprechen mit chmod geändert wurde?

wenn ich
su egon

und dann

sh /volume1/homes/pfaff/getmail.sh &>/dev/null

eingebe, funzt es. irgendwie kann cron nicht CMD /volume1/homes/pfaff/getmail.sh &>/dev/null ausführen.

wie bekomme ich die getmail.sh in das richtige format , ausführbare skript irgendwie liegt da mein fehler. chmod kann ich ja nur als root oder admin machen. irgendwas mache ich falsch. stimmt der parameter 770?
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
log_it: (egon 7541) CMD (/volume1/homes/egon/getmail.sh &>/dev/null^M)
Das fett markierte sieht nach einem Steuerzeichen in der crontab Datei aus. Das würde ich mal löschen.
Mittels
Code:
ls -all /path/to/file
kannst du dir die Rechte einer Datei anzeigen lassen
 

bbg1

Benutzer
Mitglied seit
30. Jan 2010
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
also mit

*/1 * * * * sh[/COLOR][/COLOR] /volume1/homes/pfaff/getmail.sh &>/dev/null

in der crontab funzt es.

das steuerzeichen hab ich mal raus und sh auch wieder raus. dann geht es nicht.

also lass ich es jetzt mit sh laufen, oder spricht da etwas dagegen? ich muss ja dann doch einen fehler bei getmail.sh haben . rechte liegen bei egon mit wr. das sollte ja reichen.

falls du keine bedenken hast, warum das sh nicht im cronjob stehen sollte lass ich das so und danke dir recht herzlich für deine hilfe.

lg alex
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
sh oder nicht sh ist eigentlich egal. Da es aber mit sh funzt würde ich mal vermuten, dass deine getmail.sh nicht ausführbar war
 

phaidros52

Benutzer
Mitglied seit
07. Dez 2009
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
cron geht nicht

Hallo,
bin nun wirklich kein Linux-Crack, aber

/volume1/homes/egon/getmail.sh &>/dev/null^M

mich irritiert das ^M am Ende der Zeile.

Meine Ausgabe zeigt das nicht.
Hast du eventuell eine der Dateien mit Windows Progs erstellt? Die benutzen ein anderes Zeilenendezeichen, als Linux.

Nur so ein Gedanke

Ph.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat