• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Zeitgesteuertes PHP-Script - mit cron

Hallo @ all!

Ich benötige Hilfe!
Ich habe ein SuSE-Linux 9.2 System aufgesetzt und betreibe darauf den Apache2-WebServer.

Jetzt wollte ich eigene PHP-Scripts alle x Minuten automatisch starten lassen, so als Cronjob...

Mein Problem ist nur, ich habe keine Ahnung, wie das geht.
Wer kann mir helfen??

Danke für eure Hilfe!
 

nbkr

Guru
Die Crontab editierst Du mit dem Befehl "crontab -e".

1 .Lege einen normalen User an. Dieser wird die Cronjobs ausführen. Root sollte sowas nicht machen

1a. Installier das Programm "lynx" falls es nicht schon vorhanden ist.

2. Log dich mit diesem User ein.

3. Lerne mit dem VIM umzugehen (damit wird standardmäßig die Crontab editiert und der Editor ist mächtig, aber gewöhnungsbedürftig. http://www.vim.org/ - alternativ kannst Du auch einen anderen Editor für die Crontab nehmen. Wie das geht findet sich im Forum

4. Drücke "i" und tippe folgendes:
Code:
*/5 * * * * /usr/bin/lynx --dump http://www.deineseite.de/phpscirpt.php &> /dev/null

Das sollte Dein PHP Script alle 5 Minuten aufrufen.

5. Verlasse den Edtior mit "<esc>:wq" (ohne die ")



Falls Du PHP als CGI Version installiert hast, kannst Du das Script auch ohne "lynx" aufrufen, aber die obige Methode sollte auf jeden Fall gehen.
 
OP
W

WebWatcher

Newbie
Danke!

Das werd ich mal versuchen!
Ich hab nur noch zwei kleine Fragen zum Verständnis:

der Zusatz "--dump" sowie >/dev/null

Was bedeuten diese?

Wäre nett, wenn du mir das noch sagen würdest!

Erstmal danke für die Hilfe!
 

nbkr

Guru
der /dev/null Zusatz sorgt dafür, dass die Ausgabe des Programms lynx gelöscht wird. (bzw. eben nach "null" umgeleitet wird).

--dump beendet lynx nachdem die Seite abgerufen wurde.

lynx --help gibt noch mehr Infos dazu.
 

didi86

Newbie
Zwei Fragen hätte ich noch zu diesem Thema:

In welchem Verzeichnis liegt die crontab eigentlich?
Gibt es eine Möglichkeit , die crontab mit PHP zu bearbeiten?

mfg Chris
 

nbkr

Guru
Bei Debian liegen die crontabs in /var/spool/cron/crontabs

Mit PHP kann man die auch editieren - ist nur eine Textdatei. Allerdings hat nur root da Zugriff. Ansonst geht das wahrscheinlich auch über das crontab Kommando.
 

didi86

Newbie
Ich verwende aber nicht Debian, sondern SuSE... Gibt es eine allgemeine (für alle Distributionen brauchbare) Methode, wie man die Datei finden kann?
 
OP
W

WebWatcher

Newbie
Es funktioniert!!!

Die Crontab liegt bei SuSE (9.2 jedenfalls...) im Ordner /etc
Éinfach editieren und dann geht es...
 
Oben