Avatar billede plovski Novice
03. marts 2006 - 11:08 Der er 9 kommentarer og
1 løsning

Cron Jobs igen

Hej, jeg bøvler stadig med cron jobs. Jeg vil gerne køre et cron job med php filen send_reminders.php, der udsender påmindelser fra programmet webcalendar. Problemet har hidtil været, at kommandoen som jeg har bedt serveren udføre ikke har virket, sådan at forstå at forsøg på at køre send_reminders.php i en browser har givet anledning til fejlmeddelelser. Nu har jeg fået det til at virke sådan at http://www.mitdomæne.dk/kalender/tools/sendre_minders.php i en browser fungerer, mens vekslende forsøg på at få det til at løbe af stabelen som cron job fejler. Så mit spørgsmål går simpelthen på hvordan kommandoen skal se ud for at få cron til at "emulere" en browser-forespørgsel.

Umiddelbart forestiller jeg mig en kommando som denne

php /home/brugernavn/public_html/kalender/tools/send_reminders.php

eller

usr/bin/php /home/brugernavn/public_html/kalender/tools/send_reminders.php   

Jeg synes, at jeg har forsøgt forskellige kombinationer med mere og mindre komplette udgaver af stien til send_reminders.php, men udbyttet har været fejlmeddelelser.

Cron jobbet opretter jeg i et kontrolpanel ved navn cpanel, der både tilbyder "brugervenlig" opsætning af frekvensen og unix-agtig kommandlinje (og det ser ikke ud til at være tidsindstillingen - den er gal med: Jeg får fejlmeddelelserne med nøjagtig den frekvens, jeg har bedt serveren udføre cron jobbene med.

Er der nogen, der har forslag?
Avatar billede erikjacobsen Ekspert
03. marts 2006 - 11:21 #1
Der er 2 ting man plejer at gøre:

1) CD til det katalog, hvor det foregår. Det er ikke til at vide hvor man starter
2) Alle programmer angives med fuld sti:  /usr/bin/php  - hvis det er der den ligger.

Her du bare glemt /-en i /usr/bin/php ?
Avatar billede ttopholm Nybegynder
03. marts 2006 - 12:44 #2
Hvorfor ikke bare en cronjob a la det her:
wget --spider --cache=off http://www.mitdomæne.dk/kalender/tools/sendre_minders.php
Avatar billede erikjacobsen Ekspert
03. marts 2006 - 12:46 #3
Med wget er du begrænset af timelimit på webserveren, og scriptet skal være tilgængeligt på nettet. Php-CLI er såmænd udmærket ;)
Avatar billede ttopholm Nybegynder
03. marts 2006 - 12:49 #4
Det er der jo en vist sandhed i, men han skriver jo  at det ligger på nettet ;-) php-CLI har vist tendenser til at opfører sig underligt i  fortolkingen nogle gange.
Avatar billede plovski Novice
03. marts 2006 - 13:13 #5
Nu har jeg fået lavet et cron job, der ikke genererer fejl-output:

wget -q /home/brugernavn/public_html/kalender/tools/send_reminders.php

Til gengæld har det hidtil ikke sendt nogle reminders.

Så to spørgsmål: Hvad betyder det, at der er timelimit på wget, og hvad er php-cli?

KH. Plovfure.
Avatar billede ttopholm Nybegynder
03. marts 2006 - 13:26 #6
Jeg vil anbefale at have --spider med, ellers henter den filen og gemmer den på serveren.

Med hensyn til timelimit, vil jeg tro at erik mener det er at den kan får en script-timeout, hvis scriptet er for langtid at eksekvere koden.

php-cli, står for php-command line interfaxe

Og det er det du startede med selv ;-)
Avatar billede ttopholm Nybegynder
03. marts 2006 - 13:27 #7
scriptet  = serveren
Avatar billede erikjacobsen Ekspert
03. marts 2006 - 16:41 #8
Du skal skrive en url (http://...) hvis du vil bruge wget
Avatar billede plovski Novice
03. marts 2006 - 20:03 #9
Tusinde tak allesammen. Det viste sig, at jeg netop manglede hele url'en, sådan som Erik Jecobsenn skrev det

wget -q http://www.mitdomæne.dk/kalender/tools/sendre_minders.php

PF
Avatar billede plovski Novice
07. marts 2008 - 13:30 #10
Luk og sluk. Tak igen!
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
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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