Avatar billede KFJ1972 Juniormester
31. januar 2011 - 16:25 Der er 7 kommentarer og
1 løsning

Cronjob

Hejsa,

Jeg har noget PHP-kode jeg gerne vil have afviklet én gang dagligt via et cronjob. Jeg er kunde hos www.meebox.net og synes selv jeg efterhånden har prøvet alt muligt for at få afviklet linket med koden.

Det ene jeg indtil videre har opnået, er at jeg dagligt på tidspunktet hvor koden skulle afvikles modtager en mail med fejl. Hvis jeg selv går ind på linket via min browser så kører det perfekt.

En af de fejl jeg typisk får via mail er:
/bin/sh: /home/minside/public_html/app/init.php?func=update: No such file or directory

Jeg har også prøvet med linket som jeg kan afvikle i min browser (http://www.minside.dk/app/init.php?func=update) men der får jeg også en fejl.

Har prøvet at læse på hvad jeg har kunne finde herinde om cronjob og rundt omkring på nettet, men uden jeg er blevet klogere og har kunne løse problemet.

Kan se når jeg logger på via FTP at jeg har en mappe ved navn /bin/ men den er tom.

Koden jeg skal afvikle skal bare afvikles én gang dagligt klokken 15:00, 7 dage om ugen.

Håber at en af jer kan hjælpe eller lede mig i den rigtige retning. På forhånd tusind tak.
Avatar billede Six Nybegynder
31. januar 2011 - 19:44 #1
Jeg skal lige forstå det rigtigt.

Når du selv afvikler scriptet via. din browser, så fejler det også?

Du skal se et cronjob, som hvis en besøgende gik ind og afviklede scriptet, med en browser.

Hvis du ikke kan afvikle scriptet manuelt, så vil cronjobbet også fejle.
Avatar billede KFJ1972 Juniormester
31. januar 2011 - 21:23 #2
Hejsa,

Koden virker og bliver afviklet uden problemer hvis jeg går ind manuelt via min browser. Men jeg ville gerne kunne automatisere denne daglige manuelle aktivering af koden.
Avatar billede Six Nybegynder
31. januar 2011 - 21:55 #3
Kan du prøve at vise lidt kode ?

Umiddelbart virker det som om du prøver at kalde en sti som ikke findes et sted i dit script.
Avatar billede KFJ1972 Juniormester
31. januar 2011 - 22:35 #4
Ja det virker også for mig som om at stien er forkert uanset hvordan jeg angiver den.

Jeg er ganske overbevist om at koden virker, det gør den i hvert fald når jeg manuelt kalder koden via min browser.

Den fejl jeg får via email er:
/bin/sh: /home/minside/public_html/app/init.php?func=update: No such file or directory

Så virker lidt på mig at man skal lægge noget ned i /bin/sh/ eller angive linket til koden på anden måde end jeg har fantasi til.
Avatar billede HBP2 Praktikant
31. januar 2011 - 23:08 #5
Er du nu også sikker på at filen nu også findes?

Et cron-job er jo ikke en browser - browseren ville se det som et program med navnet "init.php" og argumenterne func=update, men cron-jobbet ser det som et program med navnet "init.php?func=update".

Hvis du vil køre et PHP script fra et cron-job skal scriptet køres som

/usr/bin/php -f /home/minside/public_html/app/init.php --func update

eller noget i den stil. php-cli skal være installeret på serveren.
Avatar billede KFJ1972 Juniormester
31. januar 2011 - 23:21 #6
Tænker du på ligesom jeg har gjort her:
http://i179.photobucket.com/albums/w284/GhiaDK/cronjob.jpg

Undskyld hvis jeg spørger ekstremt dumt. Men Cronjobs er helt nyt og ukendt for mig. Sorry.
Avatar billede HBP2 Praktikant
01. februar 2011 - 09:18 #7
Et cron-job er en kommando som køres automatisk, ligesom hvis du indtastede kommandoen i et terminal vindue. Kommandoen skal være et program, altså stien til en gyldig program-fil, men

/home/minside/public_html/app/init.php?func=update

er ikke stien til en gyldig program-fil, da "init.php?func-update" næppe findes. Istedet findes "init.php" og det er den program-fil du ønsker at køre, med argumenterne "func=update".
Du kan muligvis også løse opgaven ved at bruge wget eller curl, hvis de er tilgængelige på serveren.
Avatar billede KFJ1972 Juniormester
05. februar 2011 - 10:14 #8
Ok, jeg har lidt nyt i denne sag efter meget roden og søgen.

Følgende kommando løste problemet for mig:
/opt/curlssl/bin/curl -s http://www.minside.dk/app/init.php?func=update

Pointene bliver givet til HBP2, da det var hans input som ledte mig på rette vej.

Takker mange gange :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester