2017-05-10 12 views
0

Ich stelle einen Apache-Container bereit, der PHP-Code von meinem GitHub herunterlädt, aber dieser Code sollte alle 5 Minuten ausgeführt werden, da er eine externe API abruft und eine Datenbank füllt.Neuling: Wo Skript für Cronjob platzieren?

Ich habe gelesen über Cron in OpenShift und verstehe die Skripts, aber ich habe keine Ahnung, wo Sie die Skripte setzen. Alle Beispiele sprechen darüber, wie man das Skript in das folgende Verzeichnis schreibt: ".openshift/cron/minutely/awesome_job" aber wo ist es ?????

Sollte ich es auf meiner lokalen Festplatte erstellen und den OC-Client verwenden, um einen Apache-Cointainer aus diesem Verzeichnis bereitzustellen? Ich bin verloren.

Verwenden von öffentlichen Paas OpenShift.

+0

Hallo! Vielleicht sollten Sie Ihren Cron-Container nach diesem Tuto erstellen: https://docs.openshift.org/latest/dev_guide/cron_jobs.html. Und mounten Sie das Volume, das Sie aktualisieren möchten, in Ihren croned Container (erstellt mit dem Tuto). Auf diese Weise werden die Änderungen direkt in den Apache-Container übertragen. – wilsonW

+0

Erklären Sie mir, wie genau Ihr Skript funktioniert, löst es nur einen neuen "Git-Pull" in das in Ihren Apache-Container geklonte Git-Projekt aus? Und ich könnte vielleicht versuchen, Ihnen eine spezifischere Antwort zu geben – wilsonW

+0

Bei der Bereitstellung von Apache/PHP zieht es meinen Anwendungscode von Github. Danach wird Openshift aktualisiert, wenn sich der Github-Code ändert. So funktionieren meine Anwendungsänderungen alle. Ein Teil der Anwendung muss jedoch alle x Minuten ausgelöst werden. Dort muss ich den Trigger ausführen: #!/Bin/sh /bin/rm -f/tmp/nest_php_ *;/usr/bin/php /var/www/nest/insert.php>/dev/null – Gabrie

Antwort

0

Meine sind in /etc/cron.daily/ aber es gibt auch andere Geschmacksrichtungen, wie .hourly, .weekly, .monthly .. Dies ist debian. Ich habe sie auch regelmäßig in/usr/local abgelegt. Oder in meinem eigenen Home-Verzeichnis, wenn das persönliche Jobs sind. Im Grunde gibst du Cron einen Weg, also geht es dahin.

+0

Hmmm nein was ich meine ist: wie bekomme ich die Datei im Container in der öffentlichen PaaS laufen? Ich stelle jetzt einen Standard-Apache-Container und ich kann es eine Quelle Repo geben https://github.com/TheGabeMan/MyNew.git Aber wo wird es das Skript mit dem Cronjob finden, um in den Container zu ziehen? Ich möchte den Inhalt des Containers nach der Bereitstellung nicht bearbeiten müssen. Oder soll ich Image statt Container sagen? – Gabrie

Verwandte Themen