Det är så här. Jag har ett webbhotell som erbjuder möjligheten att använda Chronjob för schemaläggning av aktiviteter. De har ett grafiskt interface där man gör tidsinställningarna vilket är bra.
Sedan finns det en rad som heter "command" där man helt enkelt om jag förstått det rätt skall fylla i absoluta sökvägen till exempel.php som man vill ska köras. Nu fungerar inte detta för mig och jag tänkte att man kanske ska skriva "chron job u:\sökväg?
Jag är ingen kung på linux så jag vet inte. Någon som har en hint? :) Eller är det så att denna php-fil måste ligga i cgi-bin-katalogen som finns i min root-nivå på webbhotellet?
Det spelar ingen roll vart php-filen ligger. Du ska inte skriva "cron job " i kommando-fältet (så till vida inte webbhotellet uttryckligen säger det). Ta reda på sökvägen till php och skriva sedan: "/sökvägen/till/php sökvägen/till/php-skript.php".
Det ska fungera
Du vill alltså att PHP ska köra innehållet i php-filen? I sådana fall måste du först ange sökvägen till php-binären och som argument sökvägen till den php-fil du vill köra.
Du vill alltså att PHP ska köra innehållet i php-filen?
Helt rätt. Php skall köra min min php-fil! :)
dho skrev:
I sådana fall måste du först ange sökvägen till php-binären och som argument sökvägen till den php-fil du vill köra.
Vad är php-binären? Är det samma sak som cgi-bin? Hur skulle det kunna se ut om du skrev ut ett exempel på det (argument och sökväg)? :OO E inte alls haj på linux!
"Det ser rätt ut.
Enligt crontab-loggen så har kommandot utförts." säger supporten.
support skrev:
Det du bör göra när du exekverar kommandot är att styra eventuell output från kommandot från stdout till en fil istället, exempel:
/usr/local/bin/php -f /home/sökväg/public_html/fil.php >/home/sökväg/public_html/fetch.out
På så sätt kan du kontrollera filen fetch.out för eventuella felmeddelanden.
Det enda jag får ut ur filen fetch.out är "No input file specified." Vad är problemet här?
support skrev:
Du kan även skriva ut statusmeddelanden med echo-kommandot i ditt script som då hamnar i fetch.out.
Hur skriver man detta kommando och i vilken fil? :)
om jag har förstått det hela rätt så är det kommando man anger det som man normalt skulle ha skrivit från en linuxprompt. blir det rätt då med fnuttarna (")?
Det ska inte vara citationstecken. Har du tillgång till ett terminalfönster? Har du isåfall provat skriva
/usr/local/bin/php -f /home/sökväg/public_html/fil.php >/home/sökväg/public_html/fetch.out
och se vad som händer då?
red/ Av ditt felmeddelande att döma verkar det onekligen som att sökvägen till ditt php-skript är felaktigt. Har du dubbelkollat det?
Det ska inte vara citationstecken. Har du tillgång till ett terminalfönster?
Nej, i och med att jag använder en kontrollpanel som heter DirectAdmin (ett gränssnitt för inställningar i linux) så kommer jag EJ åt linuxprompten. I mitt gränssnitt tillåts jag endast ange tidsintervall och den kommandorad jag vill ska exekveras!
Gein skrev:
Har du isåfall provat skriva
/usr/local/bin/php -f /home/sökväg/public_html/fil.php >/home/sökväg/public_html/fetch.out
och se vad som händer då?
Supportkillen på Aleborg svarade på ett mail jag skrivit och enligt honom fungerade allt bra. Dvs fetch.out genererades men det fanns ju inget intressant innehåll i den så när som på att det stod "No input file specified". När jag själv lägger till vad som enligt honom är rätt kommandorad så genereras det ju ingen fetch.out med en ny tidsstämpel vilket innebär att fetch.out kvarstår sedan supportkillen testade. Hmmm... :OO
Gein skrev:
ed/ Av ditt felmeddelande att döma verkar det onekligen som att sökvägen till ditt php-skript är felaktigt. Har du dubbelkollat det?
Supportkillen bekräftade att det var rätt sökväg...
Supportkillen bekräftade att det var rätt sökväg...
Jag har pratat med den person du pratade med och jag tror det blev missförstånd. Han menade att kommandoraden var rätt, sen om sökvägen till skriptet var riktig eller inte är en annan sak.
Kontrollera sökvägen "/home/sökväg/public_html/fil.php" igen. Den stämmer uppenbarligen inte.
När jag letat runt efter information om cronjob på nätet läste jag något om att man alltid måste ange absoluta sökvägar för att det ska fungera. Stämmer det? Om det skulle vara så så är min sökväg fel. Men nu fick jag den sökväg som börjar med /home/...bekräftad av personen jag pratade med och trodde då att det skulle stämma...
Hur som helst...ska kolla upp sökvägen en gång till!
Du måste ange absoluta sökvägar till dina skript. Du behöver inte ange absoluta sökvägar till binärer som finns i PATH-variabeln (rätta mej nu om jag har fel). Men det skadar aldrig att alltid använda absoluta sökvägar för att vara helt säker. Men som sagt, för sökväg till egna skript så måste du alltid ange den absoluta sökvägen.
red/ Markera även tråden som löst (för framtidens skull) :)