Her får du hjelp til å lage hjemmeside med video. Alle verktøy og programmer vi bruker til å lage webside er gratis.
Hvordan bruke cron for å kjøre script automatisk?
- Logg på eller opprett en konto for å skrive kommentarer
lør, 09.01.10 - 01:51
Jeg har webhotell med SSH tilgang og vil automatisere kjøring av noen script ved hjelp av cron. Scriptet jeg vil kjøre er PHP og ligger under public_html, så det er tilgjengelig via nett. Problemet er at jeg må gå inn på scriptet for å kjøre det.
Spørsmålet mitt er: Hvordan bruke cron for å kjøre script automatisk?


For de som ikke vet det: Cron er et lite program (på unix/linux) som tillater automatisk kjøring av script og kommandoer. Man kan feks kjøre programmer og kommandoer på tidspunkter man selv spesifiserer. Dette er kjekt for å automatisere forskjellige ting, feks sletting av brukere som er inaktive osv.
For å sette opp kommandoer i cron må du enten ha SSH access til webhotellet, eller så må kontrollpanelet støtte oppretting av cronjobber. Hvis du er usikker på dette, hør med webhosten din.
Cron guide for automatisk kjøring av script & kommandoer
I dette eksemplet skal vi kjøre et PHP-script som ligger tilgjengelig på nettet. Vi skal derfor bruke
wgetsom er en kommando for å hente ressurser over feks HTTP (Hyper Text Transfer Protocol).Føst må du sjekke om du har cron, logg inn på webhotellet ditt via SSH og kjør kommandoene
Hvis én av dem gir deg et svar som feks
så betyr det at du har mulighet for å sette opp automatiske cronjobs. Vi antar at du har
crontab, men kommandoene er like forcronSelv liker jeg å opprette et eget dokument som inneholder oppgavene som skal kjøres av crontab, og man kan skrive
for å se hvilke jobber som er lagt inn for kjøring. I latskapens navn lager vi ikke en egen fil med oppgavene, men skriver enkelt og greit
for å editere hvilke oppgaver som skal utføres. Vi kommer da inn i editormodus, og kan begynne å angi tidspunkter for og hvilke kommandoene vi vil kjøre.
Eksempel på en kommando i cron
For å dekode denne kommandoen, se følgende
Stjerne (*) er et wild card hvilket betyr . Med andre ord vil denne kommandoen kjøres hvert minutt, hver time, hver eneste dato i måneden, hver eneste måned og hver eneste dag i uken. Komplisert? Egentlig ikke.
Skal man kjøre en kommando, feks én gang i døgnet, klokken 23:00, så ville kommandoen sett slik ut:
Her kjører da kommandoen hver gang minuttet er 0 og timen er 23. Dette skjer hver eneste dag i måneden, hver eneste måned og hver eneste dag. Om man kun ville kjørt kommandoen 23:00 på mandager, så hadde man endret til:
Legg merke til at vi bruker hele filbanen (path) til
wget. Dette er normal praksis når man legger inn kommandoer i crontab. Path til den kommandoen du skal kjøre, får du ved å kjøre denne kommandoen:Videre kommer diverse options, da syntaks for
wgeter som følger:Få mail med output fra scriptet
Hvis scriptet lager output, feks via PHP-kommandoen
print, så kan man få epost med output ved å legge til følgende i cron:Kommentering i crontab
For å minne degselv på hvilke oppgaver kommandoer gjør, kan du bruke kommentering. Dette gjøres ved å bruke nummertegnet foran kommentaren, feks slik:
Lagring av endringer i crontab
For å lagre de nye innstillingene under crontab, klikk Ctrl + X på tastaturet. Du vil da bli spurt om å lagre endringene.
Klikk Y etterfulgt av Enter for å svare ja, eller N for å svare nei.
Hjelper folk å lage hjemmeside