hallo..
ich hab den pfad zu der dmailer.phpcron gefunden..
aber wie und wo stelle ich den diesen Cronjob ein?? wo muss ich den ausführen.
/var/www/path/to/my/webspace/typo3/ext/direct_mail/mod/dmailer.phpcron
grusz.
hallo..
ich hab den pfad zu der dmailer.phpcron gefunden..
aber wie und wo stelle ich den diesen Cronjob ein?? wo muss ich den ausführen.
/var/www/path/to/my/webspace/typo3/ext/direct_mail/mod/dmailer.phpcron
grusz.
crontab -e
Jochen Weiland
Vielen Dank für die schnelle Antwort.
Ich bewege mich in den Anfängen von Typo3 und habe noch nichts von Cronjobs gehört.
Mögen Sie mir das ein bsichen ausführlicher beschreiben?
in der Configuration von dem DirectMail-Extended gibts es eine Cronjob einstellung bezüglich der Sprache..
Ist die einstellung für das ausführen des automatischen versendens der newsletter mail auch hier zu finden? Die Datei dmailer.phpcron ist die auszuführende Datei? welchem Programm muss der pfad zugeordnet sein?
vielen Dank, schonmal im Vorraus.. d.
Mit dem Befehl crontab werden die regelmässig wiederkehrenden Abläufe unter Linux/Unix gesteuert. Aufruf von der Shell aus. Das hat mit Typo3 selbst nichts zu tun.
Details dazu durch Eingabe von "man crontab"
Mit Hilfe des Befehls crontab wird einfach nur festgelegt, in welchen Zeitabständen das Skript dmailerd.phpcron aufgerufen wird (mit kompletter Pfadangabe).
Jochen Weiland
ich habe versucht via shell den dmailerd.phpcron direkt und mit absoluten pfad versucht zu starten, aber ich bekomme kein ergebniss.
bin mir sicher, dass ich den kompletten pfad genommen habe, er sagt aber das es no such file or directory findet!
wie bekomme ich das zum starten?
Evtl. muss man die erste Zeile vom dmailerd.phpcron anpassen, wie z.B. bei den Servern von 1&1 und Schlund....
Jochen Weiland
jweiland schriebEvtl. muss man die erste Zeile vom dmailerd.phpcron anpassen, wie z.B. bei den Servern von 1&1 und Schlund....
Hmmm... da ich im Netz dazu bisher nichts finden konnte, wäre es toll, wenn mal jemand 😉 schreiben könnte, wie man die Datei für 1&1 anpasst.
Gruss
Michael
oh, mann.........
in der ersten Zeile steht, wo sich auf dem Server PHP befindet. Da steht also /usr/bin/php.
Mit ein bisschen suchen auf dem Server findet man heraus, dass sich PHP aber im Verzeichnis /usr/local/bin/php befindet (zumindest bei den Managed Servern)
Jochen Weiland
danke für die tipps.
aber eine allgemeine verständnisfrage: muss man den dmailered.phpcron einmalig via cronjob ansprechen oder muss ich ihm schon ein cyclus geben, wei z.b 0 15 1 * * um ein am ersten jedes monats abzuschicken?
die dmailered.phpcron muss auf jedenfall direkt angesprochen werden?
Content-type: text/html
X-Powered-By: PHP/4.3.10
Wrong path... This 'sr/local/bin' should be the last part of '/usr/local/bin'
diese meldung kommt!
natürlich muss die Datei per cronjob regelmässig aufgerufen werden. Und zwar sinnvollerweise nicht einmal im Monat sondern z.B. alle 3 Minuten. Bei jedem Aufruf werden dann 50 Mails rausgeschickt, solange bis der Job fertig ist.
Und die Fehlermeldung deutet ja wohl auf einen Schreibfehler in der Pfadangabe hin, da fehlt ein u
Jochen Weiland
Hallo ihr Beiden,
auf der Suche nach meinem Fehler habe ich einzig und allein diesen Beitrag im Forum gefunden. Ich bekomme ebenfalls die Fehlermeldung
Wrong path... This 'sr/local/bin' should be the last part of '/usr/local/bin'
und hatte schon in den Quelltext geschaut.
Die erste Zeile im Quelltext musste ich ohnehin bearbeiten in
#!/usr/bin/php -q
Ein "u" von "usr" fehlt definitiv nicht.
donvito, hast Du evtl. schon eine Lösung gefunden?
Hallo,
ich habe die Zeile crontab -e in die beiden Dateien (am Anfang der Datei) eingefügt. Aber trotzdem hat es nicht geklappt. Ich muss noch "invoke Mailer Engine" drücken, um die Newsletter zu senden.
Was muss ich noch machen? vielen Dank
username1
"crontab -e" ist ein Befehl, den man in der Unix/Linux Shell angibt, um den cronjob einzurichten
Jochen Weiland
Hi,
kannst du mir bitte ein Beispiel geben, wie ich den Cronjob einrichten kann.
Vielen Dank
1. Von der Shell aus crontab -e eingeben
2. Folgende Zeile im Editor (in der Regel vi) eingeben:
5 * * * * /absoluter/pfad/zur/datei/dmailerd.phpcron
3. Speichern - fertig
Damit wird der Mailversand alle 5 Minuten ausgelöst
Jochen Weiland
Hallo Jochen,
Danke für deine schnelle Anwort. Es hat funktioniert.
Schönes Wochenende
Gruß
username1
Hi!
Bei mir war es etwas komplizierter. Ich will das den anderen nicht vorenthalten:
Ich habe auch die Änderungen am Script vornehmen müssen. Bei mir lag php im Verzeichnis /usr/bin/. Um das herauszufinden muss man nur
which php
in die Konsole eingeben. Dann schreibt einem das Betriebssystem, welches "php" man verwendet. Meine Ausgabe sieht so aus:
/usr/bin/php
Nachdem ich nun diese Änderungen am Script vorgenommen hatte erhielt ich schöne Fehlermeldungen. So zum Beispiel:
Wrong path... This "sr/bin" should be the last part of "usr/bin".
Das brachte mich ein wenig aus der Ruhe, denn unumstritten IST "sr/bin" das Ende von "usr/bin".
Wie auch immer. Ich dachte mir, dann müssen die Pfade falsch sein und fing an die define-Angaben zu tunen. Ohne wirklichen Erfolg. Die Hardcore-Angabe des Verzeichnissen ($dir) half auch nicht wirklich.
Dann fiel mir ein, dass wir hier eine globale Kopie von Typo3 für alle unsere Webpräsenzen verwenden, d.h. wir haben die Verzeichnisse typo3, t3lib, tslib und misc per symbolischen Link in unsere einzelnen Webseiten eingebunden.
Dann konnten die Pfade auch nicht richtig sein, denn durch den link hieß das typo3-verzeichnis jetzt
/Library/WebServer/Documents/typo3_aktuell/typo3
und nicht
/Library/WebServer/Documents/www.domain.de/typo3
Mist. Also habe ich die Links für diese Domain gelöscht und die Inhalte aus den Verzeichnissen (typo3, t3lib ...) kopiert. Dann habe ich den Job nochmals per
/usr/bin/php -q /Library/WebServer/Do../typo3/ext/direct_mail/mod/dmailer.phpcron
getestet, aber ich erhielt erneute Fehlermeldungen (cannot instantiate class ... usw.). Also habe ich die Verzeichniss nochmal getestet und abgeändert.
Folgende Einstellungen waren vorher im Script
$dir = dirname($HTTP_ENV_VARS["_"]);
define("PATH_typo3", dirname(dirname(dirname($dir)))."/");
define("PATH_site", dirname(PATH_typo3)."/");
define("PATH_t3lib", PATH_typo3."t3lib/");
define("PATH_typo3conf", PATH_site."typo3conf/");
define('TYPO3_MODE','BE');
Und das habe ich eingesetzt
$dir = $HTTP_ENV_VARS["PWD"];
define("PATH_typo3", dirname(dirname(dirname($dir)))."/");
define("PATH_site", dirname(PATH_typo3)."/");
define("PATH_t3lib", PATH_site."t3lib/");
define("PATH_typo3conf", PATH_site."typo3conf/");
define('TYPO3_MODE','BE');
Man beachte, dass ich als Environment-Variable statt "_", "PWD" verwende. Dort steht bei mir nämlich der Pfad korrekt (getestet per print_r($HTTP_ENV_VARS)😉.
Dann ist definitiv der Pfad für t3lib falsch. Das kann eigentlich überhaupt nicht funktionieren, denn wenn ich einen Pfad nehme und typo3 anhänge (define("PATH_site", dirname(PATH_typo3)."/")) und dann diesen Pfad nehme und t3lib anhänge, dann ist das falsch.
Das Ergebnis ist
bla/blub/foo/bar/typo3/t3lib
Laut der Standardinstallation von typo3 liegen die Verzeichnisse typo3 und t3lib auf der selben Ebene.
Also muss auch diese Angabe abgeändert werden (siehe Änderungen).
So und auf einmal funktionierte das Script ohne Fehlermeldungen.
Grüße
McGregor