osTicket Mails abrufen / Crontab bearbeiten oder Aufgabenplaner

Status
Für weitere Antworten geschlossen.

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hallo liebe Community

Ich versuche osTicket auf einer Synology DS713+ zu betreiben.
Installation usw. hat wunderbar geklappt nur habe ich es noch nicht geschafft die automatisch E-Mail Abfrage einzurichten.
osticket ist manuell installiert, nicht das Synology Paket

Ist ein User auf dem osTicket eingeloggt, werden die E-Mails abgerufen (auto-cron) Bedeutet die Mail-Einstellungen sind korrekt. Auch Mails versenden funktioniert.
Ich möchte jedoch dies entweder über crontab / Dienst oder über den integrierten Aufgabenplaner erledigt haben.

Versuch Aufgabenplaner

Allgemein:
Neue Aufgabe erstellt mit root

Zeitplan:
Täglich, alle 5 Minuten

Aufgabeneinstellungen:
Befehl ausführen= /usr/bin/php /volume1/web/osticket/api/cron.php

Funktioniert nicht!



Versuch Crontab

Crontab mit folgendem Befehl ergänzt:
*/5 * * * * root /usr/bin/php /volume1/web/osticket/api/cron.php
anschliessend:
sudo /usr/syno/sbin/synoservicectl --restart crond

Funktioniert nicht!

Kann mir bitte Jemand helfen?:)

Vielen Dank im Voraus.

Gruss aus der Schweiz



EDIT:
Über das GUI bzw. Aufgabenplaner erhalte ich folgende Fehlermeldung per Mail:

Aufgabe: cronjob
Startzeit: Wed, 22 Mar 2017 00:05:02 GMT
Stoppzeit: Wed, 22 Mar 2017 00:05:02 GMT Aktueller Status: 255
Standardausgabe/Fehler:
PHP Fatal error: Call to undefined function mysqli_init() in /volume1/web/support/include/mysqli.php on line 28

in diesem File steht:
Zeile 28: if (!($__db = mysqli_init()))
Zeile 29: return NULL;

Sagt mir leider nichts :/

Gruss
 
Zuletzt bearbeitet:

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Hallo,
PHP per Direktaufruf kann eine abweichende Konfiguration zu einem PHP haben welches hinter dem Webserver sitzt. Ich kann gerade nicht nachsehen, würde aufgrund der Meldung aber davon ausgehen, dass Synology dem PHP-CLI die mysql-Schnittstelle geklaut hat. Vermutlich aus Sicherheitsgründen und durchaus keine schlechte Idee.
Ich würde stattdessen per wget oder curl die URL aufrufen. Dann läuft der Prozess wie vorgesehen via Webserver.

MfG Matthieu
 

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hallo,
PHP per Direktaufruf kann eine abweichende Konfiguration zu einem PHP haben welches hinter dem Webserver sitzt. Ich kann gerade nicht nachsehen, würde aufgrund der Meldung aber davon ausgehen, dass Synology dem PHP-CLI die mysql-Schnittstelle geklaut hat. Vermutlich aus Sicherheitsgründen und durchaus keine schlechte Idee.
Ich würde stattdessen per wget oder curl die URL aufrufen. Dann läuft der Prozess wie vorgesehen via Webserver.

MfG Matthieu

Vielen Dank für deine Antwort

Welche Variante (wget oder curl) würdest du empfehlen und hast du jeweils ein Beispiel dazu wie die eingetragen werden müssen?

Danke für die Hilfe..

Gruss
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.038
Punkte für Reaktionen
295
Punkte
393
Hallo,
@KinCH
bitte keine Vollzitate und besonders nicht wenn Du direkt antwortest.
Danke.

Gruß Götz
 

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hallo

Danke für deine Antwort

Leider habe ich es noch nicht hingekriegt, trotz dieser Anleitung:confused:

Muss für wget oder curl ein API-key erstellt werden?
Trage ich den String im Aufgabenplaner ein oder direkt im Crontab?

*/5 * * * * root wget -q -O /dev/null --user-agent=2260B3F2DD49E7D24AC53768343F56D2 http://Domain/support/api/cron.php
oder
*/5 * * * * root wget -q -O /dev/null --user-agent= http://Domain/support/api/cron.php

Habe auch eine andere Variante versucht:
Direkt im Aufgabenplaner..
/usr/syno/bin/wget --no-check-certificate http://domain/support/api/cron.php

Muss für diese Anfragen wget/curl die rcron.php verwendet werden anstatt der cron.php?

Wäre zu schön, wenn Jemand der es am laufen hat sein Crontab posten könnte :)

Ich blick leider nicht durch..

Danke

Gruss
kinch
 

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
könnte anstelle der Domain auch einfach die IP des (web)Servers eingetragen werden?

Edit: ja geht auch mit IP
 
Zuletzt bearbeitet:

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
wenn ich folgenden Befehl eingebe im Aufgabenplaner:
wget -O /dev/null https://interneIP/support/api/cron.php

kommt diese Fehlermeldung:
Aufgabe: Task 2
Startzeit: Thu, 23 Mar 2017 22:48:32 GMT
Stoppzeit: Thu, 23 Mar 2017 22:48:32 GMT Aktueller Status: 5
Standardausgabe/Fehler:
--2017-03-23 22:48:32-- https://interneIP/support/api/cron.php
Connecting to interneIP:443... connected.
ERROR: cannot verify interneIP's certificate, issued by '/C=TW/ST=Taiwan/L=Taipei/O=Synology Inc./OU=Certificate Authority/CN=Synology Inc. CA/emailAddress=product@synology.com':
Unable to locally verify the issuer's authority.
ERROR: certificate common name 'synology.com' doesn't match requested host name 'interneIP'.
To connect to interneIP insecurely, use `--no-check-certificate'.

Nun bearbeite ich den Befehl wie folgt:

wget -O /dev/null https://interneIP/support/api/cron.php --no-check-cerificate

..kommt keine Fehlermeldung mehr per Mail, jedoch werden die Mails auch nicht abgeholt. Hmm
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Gib in der crontab (wieder) den vollen Pfad zu wget, wahrscheinlich /usr/syno/bin/wget, an. Ob das herauskommt, was du dir wünschst, kann ich hier leider nicht testen.

Zum Testen lass -O /dev/null sowie -q weg, dann siehst du mehr.
 

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
danke für deine Antwort.

Wo sehe ich den Log vom crontab? bislang habe ich nur die Logs die aus dem Aufgabenplaner per Mail gesendet werden ausgewertet.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Du kannst die Variable $MAILTO in der crontab setzen. Ich würde es aber anders machen und an den Befehl

>/tmp/crontest 2>&1

anhängen. Die aktuellste Ausgabe findest du dann in der bei der Ausführung angelegten Datei /tmp/crontest.
 
Zuletzt bearbeitet:

KinCH

Benutzer
Mitglied seit
23. Sep 2008
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Hallo liebe verfolger dieses Threads

Es läuft, wohl mehr Zufall beim Pröbeln als sonst was

Mit folgendem Crontab Eintrag
*/5 * * * * root /usr/local/bin/php56 /volume1/web/support/api/cron.php

Ich muss hinzufügen, dass PHP56 und PHP70 installiert sind und das osTicket-System auf php70 läuft.
Ändere ich den Befehl ab auf
*/5 * * * * root /usr/local/bin/php70 /volume1/web/support/api/cron.php
funktioniert es nicht mehr.
Daher nehme ich an, hätte ich es mit php56 installiert und würde mit php70 abfragen würde es funktionieren.

Vielleicht nicht die schönste Lösung, aber auch Eine
Besten Dank für die Unterstützung!

SOLVED!
 
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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!