Cronjob - PHP Script

Bash, Shell, PHP, Python, Perl, CGI
Veolore
Posts: 7
Joined: 2009-11-23 13:28

Cronjob - PHP Script

Post by Veolore » 2009-11-23 13:37

Hallo,
ich habe ein Cronjob, welcher beim Reboot ein PHP-Script ausführt. Das Script wird aber nicht beendet oder sonst was. Sollte das Script das Memory-Limit erreichen, wird es beendet bzw. gekillt.
Nun meine frage:
Bearbeitet der Cronjob Zeile für Zeile einzeln durch oder startet der die alle auf einmal?

Desweiteren:
Wie muss der Befehl bei Debian lauten, damit das system alle 24/48 Stunden rebootet?

Viele Grüße
Veolore

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-23 19:36

Weil das PHP Script möglichst dauerhaft laufen soll.
Und das Script startet bei jedem Reboot mit.
Gibt es den eine Möglichkeit das Script auch nach zb. 48h zu killen und neu zu starten?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Cronjob - PHP Script

Post by Joe User » 2009-11-23 20:53

Veolore wrote:Weil das PHP Script möglichst dauerhaft laufen soll.
Und das Script startet bei jedem Reboot mit.
Gibt es den eine Möglichkeit das Script auch nach zb. 48h zu killen und neu zu starten?

Da das Script ja beim Booten startet, hast Du bereits ein Init-Script dafür angelegt und brauchst dieses nun nur noch alle x Stunden per Cronjob zu restarten.

Aus reiner Neugier: Was macht das Script, das es so lange laufen muss?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-23 21:34

Es ruft verschiedene Statistiken ab und zeigt diese mir auf einer Webseite als zusammmenfassung an.
Also ein Init-Script hab ich nicht, soviel ich weiß. Im Cronjob steht nur "@reboot php /bla/pfad/zum/script/xx.php"
Und wie muss der Cronjob genau lauten mit den alle paar Stunden neu starten?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Cronjob - PHP Script

Post by Joe User » 2009-11-23 23:33

Mal ehrlich, Statistiken sind auch bei zweistündiger Aktualisierung aktuell genug, dafür braucht man keinen potenziellen Amokläufer im System.

Zum Thema Cronjobs siehe: viewtopic.php?f=63&t=16846
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-24 08:16

Danke, der Link hat erstmal sehr geholfen ;)
Ich hab das jetzt so gemacht, das er @hourly startet. Aber was passiert wenn das Script noch ausgeführt wird? Öffnet er das dann ein zweites mal oder schließt/killt er das erst?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Cronjob - PHP Script

Post by Roger Wilco » 2009-11-24 10:14

Dein crond führt das Skript dann einfach ein zweites mal aus.

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-24 10:45

Wie kille ich das Script bevor es ein weiteres mal durch @hourly startet?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Cronjob - PHP Script

Post by Roger Wilco » 2009-11-24 10:50

Wenn der Name eindeutig ist mit `killall` oder `pkill`. Ansonsten mit `kill` und der Prozess ID, die irgendwo gespeichert werden muss. Eventuell sind die daemontools oder start-stop-daemon ganz nützlich für das Problem.

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-24 11:08

Kumpel hat mir eine Datei geschickt, die aber für Gentoo ausgelegt ist. Nun weiß ich nicht, was ich genau mit der machen soll und ob die überhaupt bei mir funktioniert. Das ist der Inhalt:

Code: Select all

#!/bin/bash
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {
   after apache
}

start() {
   ebegin "Starting stats2"
      start-stop-daemon -S -b -m -p /var/run/stats2 -x /usr/bin/php /pfad/zu/php/datei/svc.php nosvc
   eend $?
}

stop() {
   ebegin "Killing stats2"
      start-stop-daemon -K -p /var/run/stats2
   eend $?

}

restart() {
   svc_stop
   svc_start
}


Was genau soll ich damit machen und wird das bei Debian überhaupt funktionieren?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Cronjob - PHP Script

Post by Roger Wilco » 2009-11-24 11:10

Veolore wrote:Was genau soll ich damit machen und wird das bei Debian überhaupt funktionieren?

Nein, das Init-Skript wird unter Debian Linux nicht unverändert funktionieren. Allerdings könntest du die Zeilen mit dem start-stop-daemon übernehmen.

Wenn dein Bekannter sich besser mit der Administration von Linux-Systemen auskennt als du, lass ihn die Installation durchführen.

Veolore
Posts: 7
Joined: 2009-11-23 13:28

Re: Cronjob - PHP Script

Post by Veolore » 2009-11-24 11:18

Naja, ob besser keine Ahnung, aber Debian hat er noch nie genutzt ;)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Cronjob - PHP Script

Post by Joe User » 2009-11-24 11:53

Veolore wrote:aber Debian hat er noch nie genutzt ;)

Dein Kumpel ist mir irgendwie sympatisch 8)

SCNR
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.