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

Cronjob erstellen

Dev

Newbie
Hallo,

ich bin noch ziemlich neu was Linux und Shell betrifft, deshalb hoffe ich das mir jemand dabei helfen kann.

Ich möchte für eine PHP-Datei einen cronjob erstellen. Dazu habe ich hier im Forum folgenden Thread gefunden. http://www.linux-club.de/ftopic4740.html

Ich habe über crontab -e auch alles so eigentragen wie es dort beschrieben wurde. Wenn ich aber den Editor mit :wq verlasse bekomme ich in der Konsole folgende Meldung angezeigt.
Code:
crontab: no changes made to crontab

Eingeloggt bin ich als root.

Woran kann es liegen das der Eintrag nicht in der crontab gespeichert wird?

Ich wäre Euch sehr dankbar, wenn Ihr mir dabei helfen könntet.

THX Dev
 
Da Du per Standard mit VI arbeitest, mußt Du erst den Modus auf bearbeiten wechseln. Eine schöne Anleitung für VI findest Du unter http://www.selflinux.org/selflinux/html/vim.html Der Fehler liegt also nur an deiner Unkenntniss des VI und nicht an cron. Du kannst übrigens auch den Standardeditor ändern, benutze mal die Boardsuche.
 

Nukem36

Hacker
High!

verwende doch einfach Kcron. Mit dem Tools hast Du eine schöne Oberfläche und das Einstellen von Cronjobs ist damit sehr einfach.

Nukem36
 
OP
D

Dev

Newbie
Hallo,

vielen dank für Eure Hilfe, aber auch wenn ich versuche, in die crontab die Eintragung so reinzuschrieben, wie in dem Tutorial erklärt bekomme ich den selben Fehler angezeigt.

KCron habe ich leider nicht.

Ich habe die zuständige crontab jetzt im Verzeichnis /var/spool/cron/ gefunden dort mittels WinSCP geändert. Wenn ich crontab -l in der shell aufrufe ist der Eintrag auch drin. Aber der Cronjob wird nicht ausgeführt.

Soll zum Test alle 15 Minuten laufen. Nachstehend mein Eintrag in die crontab

Code:
*/15 * * *   /usr/bin/php4 -f /usr/local/httpd/htdocs/pfad/zur/php/datei.php &>/dev/null

in der PHP-Datei habe ich
Code:
#! /usr/bin/php4 -f
<?php
eingetragen. die Rechte der PHP-Datei stehen auf rwx r-- r--

Stimmt dort vielleicht etwas nicht oder muss man noch irgendetwas neu starten, damit der Cronjob ausgeführt wird?
 
php-scripte können nicht einfach so ausgeführt werden, sondern Du mußt php-cli installiert haben und dann per "php Skriptname.php" aufrufen. Teste mal in der Konsole ob Du dein Skript ohne den Parser laufen lassen kannst. Klappt normalerweise nicht. Auf einer Webseite wird das Skript durch den Webserver über den Parser gejagt.
 
OP
D

Dev

Newbie
Hi,

danke für Eure Hilfe. Nach langem hin und her hab ich meine Fehler gefunden.

Wer lesen kann ist eindeutig im Vorteil... :wink:
Ih musste die crontab mit dem vi dirket im Verzeichnis /var/spool/... aufrufen, dann hat es auch geklappt mit dem Eintrag und der Cronjob läuft.


THX und Viele Grüße
Dev
 
A

Anonymous

Gast
Dev schrieb:
Ih musste die crontab mit dem vi dirket im Verzeichnis /var/spool/... aufrufen, dann hat es auch geklappt mit dem Eintrag und der Cronjob läuft.

ja damit kannst du auch folgenden Eintrag in der crontab abspeichern
Code:
morgen früh hat Oma Geburtstag  kaufe /Blumenladen/Regal/oben/Rosen
aber das funktioniert dann trotzdem nicht. Man hat sich schon was dabei gedacht, dass man nicht vi sondern crontab nehmen soll, da werden die Einträge vor dem Abspeichern auf Fehler untersucht.
Wenn du das hier reingeschrieben hast
Code:
*/15 * * *   /usr/bin/php4 -f /usr/local/httpd/htdocs/pfad/zur/php/datei.php &>/dev/null

da feht zB. ein ( * )
Minute Stunde Tag Monat Wochentag Befehl

robi
 
Oben