ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
1474
1474
EMPFEHLEN
-
Hallo Leute,
ich müsste einen Cronjob für ein php Script von mir einstellen.
Nun hab ich gelesen, das man über den Befehl crontab -l sich die vorhandenen Cronjobs anschauen kann.
Aber leider kommt bei mir die Meldung, das kein Crontab für root vorhanden ist.
was hat das zu sagen. Was muss ich tun um mir einen cronjob einzurichten, dass das dann auch funktioniert.
und eine weiter frage ist, um das php script als job einzurichten muss ich angeben in welchem Pfad php liegt. Hab schon alles durchgeschaut, aber ich weiß nicht so recht was da angegeben werden muss.
gefunden habe ich nur die php.ini und php.d darin finde ich nur snmp.ini, gd.ini und eine mysql.ini.
gruß
evoleena
-
'n Abend!
Um herauszufinden wo das PHP-Binary liegt, kannst Du den Befehl which benutzen:Wie man sieht ist auf meinem Debian zwar kein PHP installiert, aber Perl liegt eindeutig in /usr/bin - da wo sich wahrscheinlich PHP bei Dir auch befindet.Code :1 2 3 4 5
lenny:~$ which php lenny:~$ which php5 lenny:~$ which perl /usr/bin/perl lenny:~$
Im Übrigen brauchst Du (normalerweise) gar nicht zu wissen wo PHP liegt, einfach nur php (oder php5) sollte eigentlich ausreichen.
Informationen wie's genau geht gibt's via manpage, hier in der Tutorials Sektion oder, noch übersichtlicher, auf tweakpc.de...
Im Übrigen dürfte es auch auf deinem System die Ordner /etc/cron* sowie die Datei /etc/crontab geben:Code :1 2 3 4 5 6
/etc/crontab # da würd' ich vorerst die finger von lassen... /etc/cron.d # da auch... /etc/cron.daily # hm, da kann man auch ein skript ablegen... /etc/cron.hourly # da auch... /etc/cron.monthly # und da? ja, klar /etc/cron.weekly # hier? nein. doch.
Gruß
Enum
-
Hallo,
du erstellst einfach in /etc/cron.daily/testskript.sh (oder auch wie oben schon erklärt in einem anderen cron.* Ordner)
Das testskript.sh muss aber die rechte für ausführen haben (755 zum Beispiel)
In das File kommt folgendes:
Code :1 2 3
#!/bin/bash php /pfad/zum/php
Und schon müsste es funktionieren.
vorher noch das Skript mit ./testskript.sh testen, und geniessen.
lg und viel Glück
Darian
-
05.10.09 13:43 #4
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
alternativ könntest du auch einen Symlink auf dein PHP-Skript in einen der vielen /etc/cron.* Ordner legen. Somit müsstest du dein Script nicht über ein Shellscript aufrufen, sondern könntest das "schöner" direkt über die SheBang lösen.
Das einzige, was du umändern musst, ist dass du bei deinem Script die SheBang an den Anfang packst (Keine Angst, diese wird falls agegeben nicht per Browser ausgegeben oder anderweitig beachtet).
Beispiel:
Code bash:1 2 3 4 5 6
echo '#!/usr/bin/php5 <?php mkdir("/tmp/" . rand()); ?>' > /tmp/test.php # Testscript erstellen chmod 0755 /tmp/test.php # Ausführrecht geben ln -s /tmp/test.php /etc/cron.daily/ # In Crontab einschreiben
Dieses Testscript legt jeden Tag ein Verzeichnis mit einem zufälligen Namen in deinem /tmp/ Ordner an.
Deinen Pfad in der SheBang musst aber vielleicht noch anpassen, am Besten da das von "Enumerator" angesprochene "which" verwenden.
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Hallo
ich habe mittlerweile einen Cronjob angelegt, der funktioniert auch, nur leider passt mir die Uhrzeit nicht so ganz. Es wird 4 Uhr nachts ausgeführt. Nun meine Frage kann ich das beeinflussen wann das ausgeführt werden soll?
Den Cronjob habe ich wie folgt angelegt.
ich habe eine ausführbare Datei im Ordner /etc/cron.daily angelegt, in der diese zeilen stehen
#! /bin/sh
php -q -f /var/www/html/meinprojekt/meinePHPdatei.php
ich hoffe es gibt eine möglichkeit die Zeit zu beeinflussen
Gruß
Evoleena
-
23.11.09 18:56 #6
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Wenn du dein Skript zu bestimmten Zeiten ausführen willst, legst du kein Skript in cron.daily an.
Du erstellst als normaler Benutzer dein Skript unterhalb deines Homeverzeichnisses. Wenn es nicht unbedingt als root laufen muss, dann lass es nicht als root laufen.
Dann rufst du "crontab -e" auf. Da wird ein Editor gestartet und du mußt dann eine Zeile eingeben.
Siehe z.B. http://www.adminschoice.com/docs/crontab.htm
Gruß
PS: Wenn du noch keine crontab erstellt hast, dann ist es ganz normal, das "crontab -l" dann sagt, dass keine crontab vorhanden ist...Geändert von deepthroat (23.11.09 um 18:59 Uhr)
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hallo,
wenn du eine spezielle Zeit einstellen willst, musst du deinen cronjob in /etc/crontab eintragen.
Musst da ein bisschen googeln, wie das genau eingetragen gehört weiß ich jetzt auch nicht auswendig, habe immer versucht das zu vermeiden
lg Darian
-
Okay hab es in die crontab geschrieben. Werde morgen Abend sehen obs geklappt hat.
Jetzt steht auch ein Eintrag drin, wenn ich crontab -l mache
Gruß
Evoleena
-
Danke klappt alles wunderbar!
Ähnliche Themen
-
Automatisches Script ala Cronjob
Von querytail im Forum PHPAntworten: 10Letzter Beitrag: 19.01.11, 12:54 -
Mit Cronjob PHP-Script aufrufen schlägt fehl
Von Sasser im Forum Hosting & WebserverAntworten: 5Letzter Beitrag: 12.07.10, 10:07 -
php-Script aufrufen wie Cronjob
Von Sturmrider im Forum PHPAntworten: 3Letzter Beitrag: 11.01.09, 11:17 -
CronJob soll Script mehrmals ausführen
Von seltsammithut im Forum PHPAntworten: 4Letzter Beitrag: 10.11.08, 11:18 -
Probleme mit Script / cronjob
Von brainyy im Forum Linux & UnixAntworten: 0Letzter Beitrag: 13.12.05, 13:52





Zitieren
Login





