FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Tja
Jag är ute efter att skapa lite crontab jobb som ska köras på min server... Jag har aldrig gjort det förr och undrar därför vilka skript språk man kan använda i programmet? Är det bara perl? Eller kan man köra php? Eller nått annat? Tack! |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Bara ett inlägg till!
|
crontab är till för att exekvera program/kommandon. Du kan alltså exekvera allt på samma sätt som du kan i ditt shell, så lämpligast är väl att skriva script i det språk du behärskar bäst. Jag kör gärna PHP eftersom det där det scriptspråket jag kan bäst, men smaken är som baken. Perl eller bash är nog vanligast.
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Allright!
Skulle passa mig perfekt att köra php. Så jag skriver helt enkelt bara en php kod i en ascii fil? och kör den sen via crontab? Har jag hajjat rätt då? Har du lust att ge mig en syntax. Starta filen: ingenaning.php den första november klockan 15:00? |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
Citat:
Isåfall är det väldigt enkelt. Bara att schemanlägga en körning "den första november klockan 15:00" mha windows "schemanläggare". EDIT: Kom och tänka på det... Har du gjort en batch-fil eller vill du ha hjälp från start? |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
från start. :/
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
I unix finns det något som kallas "man" (man 5 crontab på mitt system för att få upp rätt dokumentation) , det är ett kommando för att se manualen för ett visst program. Om du har frågat liknande frågor till denna på andra ställen har du säkert även hört förkortningen RTFM.
Manualen säger: The time and date fields are: field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) Från det ena till det andra, för att editera crontab i unix: crontab -e För att skapa ett jobb som körs en gång i timmen: 1 * * * * <script> För att skapa ett jobb som körs 1 november 15:00 00 15 1 11 * /usr/local/bin/php <script.php> Det betyder att du använder tolken php för att parsa script.php. Du kan även definiera tolk i en ascii-fil genom att skriva #!/usr/bin/tolk längst upp i den och ge den execute-flaggan (chmod +x fil). Asterisk betyder samma som i ett filnamn, dvs wildcard, dvs kör "alltid" när den matchar. Om du vill köra ett script säg varannan timme: * */2 * * * <script> Eller var femte minut: */5 * * * * <script> Jag hoppas det känns lite naturligare nu. Nästa gång, läs gärna manualen innan du frågar. |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Nykomling
|
taxi myxi.
Självklart läser vi manualen... Om vi vet att det finns en. ![]() Där står t ex inte att man kan koda i php. Så det skadar ju inte att fråga. Det är väl det forumet är till för? |
||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Bara ett inlägg till!
|
Citat:
Crontab har inget med PHP att göra. Du kan bara exekvera program och kommandon i crontab precis som du kan i en terminal. Om du vill veta om du kan exekvera PHP från en terminal så får du ju läsa i manualen till PHP ffs. Normalt när du installerar/kompilerar PHP så följer det med en separat binär (antar att det är den man använder om man kör CGI). Hitta den och som argument när du exekverar skriver du PHP-filen du vill köra. T.ex: Kod:
martin@hedkandi:/usr$ find -name php ./local/bin/php ./local/lib/php ./local/include/php martin@hedkandi:/usr$ /usr/local/bin/php ditt_script.php |
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Mycket flitig postare
|
Citat:
Det finns två sätt att göra det på: 1: utan shebang 0 * * * * /usr/local/bin/php /foo/bar/mittscript.php 2: med shebang 0 * * * * /foo/bar/mittscript.php Metod nummer 2 kräver att skriptet börjar med #!/usr/local/bin/php (eller var sökvängen till php kan vara) samt att den är exekverbar för användaren vars crontab kommer köra filen. Ett bra test är ju att man testar köra php-scriptet och se om den fungerar innan man lägger den i crontab. Med "köra" menar jag inte att anropa interpretatorn med php-scriptet som argument utan anropa scriptet direkt. /Zoran |
|||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|