Toon posts:

[PHP crontab]

Pagina: 1
Acties:
  • 35 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik ben u aan een php scriptje aan het sleutelen die kant en klare HTML wegschrijft. Dit werkt nu helemaal (heb ik getest door het zelf aan te roepen). Dus nu ben ik aan de crontab aan het sleutelen. Om te testen of het werkt heb ik hem op 5 minuten gezet. Als hij werkt moet hij gewoon idere nacht het script aanroepen om zo te zorgen dat ik iedere dag een verse pagina heb.

Nu heb ik drie tutorials gelezen en heb ik het volgende gedaan:

1 Ik heb een leeg bestand gemaakt 'cron'
2 hier heb ik deze regel in gezet:
*/5 * * * * /usr/bin/wget -O/dev/null -q /opt/guide/www.mijndomein.nl/HTML2/test/generator.php
3 Geupload naar de server
4 met ssh contact gemaakt en naar de directory waar de crontab staat gegaan.
5 de opdracht 'crontab cron' gegeven
6 met 'crontab -l' gekeken of hij het goed ingelezen heeft, dit klopt.

Toen bleek hij het dus niet te doen. Ik heb daarom crontab -e gedaan om hem te editten omdat bij smallzine niet /5 maar 0,5,10,etc gebruikt word om een script met een interval te laten lopen. Hierbij gaf hij de melding dat hij het niet op kon slaan omdat de minuten niet goed aangegeven waren maar zelfs als ik gewoon 0 oid daar neerzet gaat het niet goed.

Helaas kan ik met mijn beperkte kennis en met wat zoekwerk in google niet tot de oplossing komen, is er hier iemand die de fout mogelijk weet? Ik host bij widexs.

  • Glock
  • Registratie: November 2001
  • Niet online
vergeet je niet php aan te roepen? ;)

/path/naar/php /path/naar/script.php

zo roep je over het algemeen een php script via command line aan, volgens mij mis ik dit een beetje bij jou

edit:
Volgens mij ook niet iets wat in PW thuishoort :/

[ Voor 22% gewijzigd door Glock op 22-01-2003 14:42 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-05 22:46

Janoz

Moderator Devschuur®

!litemod

Glock.. laat je niet misleiden door de quote tag, het staat allemaal op 1 regel.
TS.. Heb je in ssh trouwens ook al ff geprobeert of dat commando (met wget) wel werkt?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Moet het niet zo:
code:
1
*/5 * * * * /usr/bin/php -f -O/dev/null -q /opt/guide/www.mijndomein.nl/HTML2/test/generator.php

Dus met php aanroepen :?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-05 22:46

Janoz

Moderator Devschuur®

!litemod

Crontab heeft idd weinig met P&W te maken... move.to/NOS

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Glock
  • Registratie: November 2001
  • Niet online
Janoz schreef op 22 januari 2003 @ 14:53:
Glock.. laat je niet misleiden door de quote tag, het staat allemaal op 1 regel.
TS.. Heb je in ssh trouwens ook al ff geprobeert of dat commando (met wget) wel werkt?
Voor zover ik lees wil hij met crontab een php script elke 5 minuten laten aanroepen en uitvoeren, echter word het php script aangeroepen als /path/script.php wat dus niks uithaalt, ik mis bij hem de hele php executie code zeg maar..

staat op geen van beide lijntjes :)

edit:
Dat hele wget slaat dus nergens op..
ik zei dus net wat zmn nu herhaalt heeft hierboven, er word niks nuttigs uitgevoert, hij download een php bestand vanaf een locale locatie en schrijft dat nergens weg, er word dus niks uitgevoerd of weggeschreven

[ Voor 21% gewijzigd door Glock op 22-01-2003 15:04 ]


Verwijderd

Topicstarter
Dat PHP script dat werkt wel.

Bij het voorbeeld van zmn, moet ik dan voor het path /usr/local/lib/php.ini of /usr/local/lib/ gebruiken?

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 13-05 15:12

Tjark

DON'T PANIC

Verwijderd schreef op 22 January 2003 @ 14:33:
code:
1
*/5 * * * * /usr/bin/wget -O/dev/null -q /opt/guide/www.mijndomein.nl/HTML2/test/generator.php
Wat je hier probeert is met wget, een tooltje waarmee je web en ftp zaken kan binnenhalen, een lokaal bestand binnen te halen. Dit wil je niet!

OF je roept idd php aan met je script OF je roept wget aan met de URL van je script dus iets als:

code:
1
*/5 * * * * /usr/bin/wget -O/dev/null -q http://www.mijndomein.nl/HTML2/test/generator.php
dus s/\/opt\/guide/http:\// :)

[ Voor 2% gewijzigd door Tjark op 22-01-2003 15:20 . Reden: s/roep/roept/g ]

*insert signature here


  • Jorn
  • Registratie: Juni 2001
  • Laatst online: 23:59
Verwijderd schreef op 22 January 2003 @ 15:08:
Dat PHP script dat werkt wel.

Bij het voorbeeld van zmn, moet ik dan voor het path /usr/local/lib/php.ini of /usr/local/lib/ gebruiken?
Je moet het script gewoon wgetten vanaf de weblocatie, dus bv http://domein.nl/script.php3, evt zet je hem in een dir beveiligd door een htaccess en die laat je door wget weer openen met username/passcombo.

Zie ook http://80.84.227.171/artikelen.php?aid=44 voor een tutorial!

* Erkens is een sukkel en ramt in mirc op f5 :+
* XTerm GROOOOOOTE kuis houden op hd's :)


Verwijderd

Topicstarter
Thanks, die tutorial had ik ook al gedaan. Ik heb nu:

*/5 * * * * /usr/bin/wget -O/dev/null -q http://www.mijndomein.nl/test/generate.php

Maar het werkt nog steeds niet :(

Is er niet iets om warnings mee binnen te krijgen? Ik denk dat als ik -q weghaal hij het niet bij mij op de ssh zet

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 13-05 15:12

Tjark

DON'T PANIC

je kunt ook vanaf de (ssh) shell gewoon
wget http://bla.nl/bla.php
aanroepen.
wget --help
geeft help info waar staat dat -q de quiet optie is.

*insert signature here


Verwijderd

Topicstarter
oei,

bash: wget: command not found

Dit betekend zeker dat ik niks aan de crontabs van widexs heb?

  • Glock
  • Registratie: November 2001
  • Niet online
het php bestand schrijft het toch weg, dan heb je wget toch helemaal niet nodig?

je kan het bestand ook gewoon via php laten uitvoeren...

Verwijderd

Topicstarter
Oke, nu raak ik helemaal in de war, dus wget is niet nodig?

Kan iemand als voorbeeld een crontabje maken die http://www.mijndomein.nl/test/generate.php aanroept om de vijf minuten? Want ik begin bang te worden dat ik vanalles door elkaar begin te halen...

  • Jorn
  • Registratie: Juni 2001
  • Laatst online: 23:59
zmn schreef op 22 januari 2003 @ 14:55:
Moet het niet zo:
code:
1
*/5 * * * * /usr/bin/php -f -O/dev/null -q /opt/guide/www.mijndomein.nl/HTML2/test/generator.php

Dus met php aanroepen :?
Dit is dus een voorbeeld hoe je het kunt doen zonder wget!
Welke je dus wel naar de lokale dirs verwijst!

[ Voor 8% gewijzigd door Jorn op 22-01-2003 15:45 ]

* Erkens is een sukkel en ramt in mirc op f5 :+
* XTerm GROOOOOOTE kuis houden op hd's :)


Verwijderd

Verwijderd schreef op 22 January 2003 @ 15:40:
Oke, nu raak ik helemaal in de war, dus wget is niet nodig?

Kan iemand als voorbeeld een crontabje maken die http://www.mijndomein.nl/test/generate.php aanroept om de vijf minuten? Want ik begin bang te worden dat ik vanalles door elkaar begin te halen...

Lees de volgende draad eens door: [rml]-=[ Nieuw in NOS? Eerst dit lezen! GEEN HELPDESK! ]=-[/rml]

Dit soort vragen is dus NIET de bedoeling.

Verwijderd

Topicstarter
Het werkt :-D

Badankt allemaal

Verwijderd

Topicstarter
Oke, ik was iets te snel, het werkt dus niet. Als ik vanaf de commandline het commando 'php path/to/php/file.php' doe dan voert hij het zonder problemen uit. Ik een crontab heb ik echter niet het path van php omdat dit volgends widexs er neit is. php is als module van apache geïnstalleerd, en kent dus geen path.

De jongens bij widexs raden mij aan om perl te gebruiken om daarmee php aan te roepen: */5 * * * * /usr/bin/perl /opt/guide/www.domein.nl/cgi-bin/opstart.pl

Nu zou ik dat opzich nog niet zo'n probleem vinden ware het niet dat ik geen verstand heb van PERL en dus niet even snel een proggie daarvoor in elkaar kan zetten.

Hoe kan ik dit nu aanpakken?

  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
Hm, Je wilt dus serieus weten hoe je een php script om de 5 minuten kan laten draaien? Redelijk faqwerk lijkt me zo. Hier moet je met de volgende dingen echtwel zelf uitkomen:

- man cron
- man wget (dat script via apache aanroepen, wget staat niet geinstalleerd, dus zoek ff hoe je met perl een bestand via http gaat openen. das evenwel gewoon in de manual kijken.)
- man perl

Van mij mag je wat standaarddingen lezen, hier kun je zeker met de gegeven info zelf uitkomen, Uit je vraag of je nou de lib of ini moet gebruiken om je script te runnen maak ik op dat de basiskennis niet aanwezig is bij jou.

dus:

Kijk of je
a) een wget binary mag plaatsen en die gebruiken
b) hoe je in perl een remote bestand van apache kunt openen
c) standaard troubleshootingstappen (dat je pas na een aantal reacties erachterkomt dat je niet eens een wget binary of een php binary in je PATH hebt had je erder kunnen opmerken.)

Everyone complains of his memory, no one of his judgement.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 09:27
Tja, nu begint het wel heel erg veel op een helpdesk te lijken hier.

Zoals je in [rml]-=[ Nieuw in NOS? Eerst dit lezen! GEEN HELPDESK! ]=-[/rml] kunt lezen, is dat in NOS niet echt de bedoeling.

Je mag ook zelf best wat moeite doen om er achter te komen hoe alles werkt hoor :) Het is dus niet de bedoeling om bij elke halve stap meteen maar weer hier te vragen wat je nu moet doen. Zo leer je het namelijk nooit zelf ;)

Dit topic gaat daarom dicht.

P.S. Check eens de manual pages van 'perl'.

Verwijderd

[rml]-=[ Nieuw in NOS? Eerst dit lezen! GEEN HELPDESK! ]=-[/rml]
Er is wel documentatie te vinden over perl. Zo moeilijk is dat nou ook weer niet. Dus hoe kun je het aanpakken:
- lees een perl manual
- schrijf het script.
Succes.
Pagina: 1

Dit topic is gesloten.