Mestring av Cron-jobben og automatisering av grunnleggende serveroppgaver

Webhotell er designet for å være enkelt, greit og perfekt for den profesjonelle som er på farten og ganske enkelt ikke kan dedikere hver time hver dag til å administrere hosting-serveren og tilhørende oppgaver.


For det formål tilbyr nesten hver server basert på Unix eller Linux en automatisert oppgavebehandling kjent som “Cron Job” eller “Crontab.”

Dette programvareverktøyet er omtrent som oppgaveplanleggeren i Microsoft Windows, ved at det kan få beskjed om å gjøre visse ting på bestemte tider, og redde en bruker fra å utføre disse oppgavene manuelt. Dette er spesielt viktig når man vurderer at mange rutinemessige prosedyrer for servervedlikehold, sikkerhetskopiering og kommunikasjon kan ta timer og timer å fullføre. De fleste ønsker rett og slett å reise hjem etter en dag på kontoret og slappe av, i stedet for å bruke kvelden på å sikkerhetskopiere filer og administrere kontakter.

Disse menneskene er heldige, for hver oppgave kan planlegges på daglig, ukentlig eller månedlig basis – eller enda lenger fra hverandre, i noen tilfeller, og spesifikke instruksjoner kan gis til serveren i Crontab-verktøyet om hvordan du utfører oppgaven. , hvordan du vet når den er fullført, og hva du skal gjøre når oppgaven som er tilgjengelig, faktisk er ferdig.

Brukere vil kunne slappe av mens serveren deres gjør alt det tunge løftet i flere timer; eller de kan ganske enkelt planlegge arbeidet som skal fullføres mens de jobber hardt på sine egne kontorer. Fordi den er automatisert, kan en Cron-jobb skje omtrent som helst på dagen.

Lære å fortelle tid ved hjelp av et Cron Jobs format

En Cron-jobb er ikke akkurat en enkel ting å mestre; faktisk er det ansett som en av de mest avanserte konfigurasjonene som er tilgjengelige på en standard Linux- eller Unix-webserver. Dette er delvis fordi språket som ble brukt til å programmere disse jobbene er så arkaisk og i noen tilfeller helt baklengs. Når det gjelder å fortelle en bestemt tid til den aktuelle Cron-jobben eller Cron-fanen det gjelder, er ting absolutt baklengs, opp ned og litt forvirrende.

Formatet for å fortelle tid via en Cron-jobb er slik:

MINUTTID DAG-MÅNEDSMÅNED DAG-AV-UKENS KOMMAND

Det hele er en linje, og jevn antall og kommando er side om side i en ensartet sammentrekning. Det er nok til å få de fleste utviklere og serveroperatører til å vinne, og faktisk gjør mange av dem helt til de får tak i å utvikle en effektiv Cron-jobb.

Det er viktig å merke seg at alle aspekter av Cron-jobbens tid er numeriske; det er ingen månedsnavn dagnavn, eller andre ord som brukes gjennom hele utviklingen av den tiden en oppgave skal utføres.

La oss derfor sette opp en Cron-jobb klokka 10.30 7. juli for å få en følelse av hvordan en Cron-jobb ser ut når den blir omgjort til strengtall.

30 10 07 07 *

Eksemplet over sier at jobben skal fullføres i det 30. minutt av den tiende timen på den syvende dagen i den syvende måneden. Alle tall er to sifre lange, selv når måneden eller dagen bare er et enkelt siffer. Dette er viktig å huske, ettersom et enkelt siffer ofte vil føre til at Cron-jobben er ugyldig og den ganske enkelt ikke blir utført. På slutten av svangerskapsstrukturen indikerer en stjerne at jobben skal utføres hvilken som helst dag i uken. Dette er viktig, ettersom det å stille den til 03 for onsdag ville bety at oppgaven bare ble utført 7. juli hvis den dagen var en tirsdag. Det vil sannsynligvis skje hvert syvende eller åttende år, noe som er en liten absorbanse for de fleste utviklere å vurdere.

En annen viktig vurdering å ta når du setter opp en Cron-jobb er at timeformatet er 24-timers militær tid i stedet for 12-timers sivil tid. For å endre tiden for Cron-jobben til kl. 10, ville timen bli endret til 22 i stedet for den nåværende 10.

Cron Jobbeeksempler

Til slutt, hvis en bruker bare ønsker å fullføre en oppgave på en daglig, månedlig eller til og med årlig basis, kan de hoppe over prosessen med å stille en bestemt tid helt. I stedet sørger Cron-jobbprosessen for å bruke variabler som bestemmer når en jobb blir utført med disse hyppige intervallene. Disse inkluderer:

  • @daglig
  • @månedlig
  • @yearly

Fordi tiden ikke kan kontrolleres og bestemmes strengt ved bruk av timer og minutter, vil disse jobbene skje nøyaktig midnatt, i henhold til serverens interne tid, i det forespurte intervallet. Det betyr at det @ månedlige intervallet vil skje på nøyaktig midnatt den første dagen i hver måned. @Yearly-intervallet vil skje på nøyaktig midnatt den første dagen av hvert år; og @ daglige intervallet vil skje på nøyaktig midnatt hver eneste dag i året.

Dette er langt enklere enn å angi en spesifikk dato, tid og ukedag, men visse oppgaver som blir utført ved midnatt den første dagen i måneden eller året kan ha noen ulemper for visse kunder. Husk alltid behovene til både administratorer og besøkende når du planlegger oppgaver som oppstår nøyaktig midnatt.

Ta tak i “COMMAND” -variabelen og hva du skal gjøre med den

Som det kan sees i eksemplet ovenfor, er det relativt enkelt å konstruere en faktisk Cron-jobb. Datoen må først defineres og deretter blir funksjonen til Cron-jobben umiddelbart definert etterpå. Denne funksjonen kan være bokstavelig talt hva som helst, inkludert å kjøre et PHP-skript eller kjøre et tilpasset backupskript som lagrer serverens filer og data i enten en ekstern eller lokal fil. For å få en avklaring, bygger vi på eksemplet som tidligere ble brukt og instruerer Cron-jobben om å kjøre et PHP-skript 7. juli klokka 10:30 om morgenen. Dette PHP-skriptet vil bli kalt “backup.php”, og vi antar at PHP-filen er et fullstendig backupskript som samler, komprimerer og lagrer nettstedsfiler den syvende i måneden når serveren blir bedt om å gjøre det. Slik ser det ut:

30 10 07 07 * http://your-domain-name.com/backup-scripts/backup.php

Når denne Cron-jobben legges inn i listen over serverens Cron-faner, blir den automatisk kjørt klokka 10.30 hver 7. juli hvert år. Det vil kjøre PHP-backupskriptet som er lokalisert i “backup-scripts” -katalogen, og det er der det sanne genialiteten til Cron-jobboppsettet fungerer.

I stedet for å kreve avanserte kommandoer fra brukerne sine for å utføre ting som sikkerhetskopiering av nettsteder og hurtigbuffer, gir det ganske enkelt brukere muligheten til å utføre eksisterende skript i et spesifikt intervall eller på en bestemt dato på et bestemt tidspunkt. Dette betyr at det ikke er behov for avansert programmeringskunnskap utover det brukeren allerede vet. PHP er perfekt i stand til å sikkerhetskopiere nettstedfiler, i tillegg til mye mer avanserte filer og programmeringsspråk som den mer sofistikerte brukeren kan utvikle for sin Linux-server.

Dette enkle oppsettet kan brukes til å gjøre praktisk talt hva som helst, så lenge et forhåndsskrevet skript sørger for utføring av handlingene uavhengig av brukerinndata. Dette betyr at ethvert skript utført av en Cron-jobb i en Cron-fane må være fullstendig automatisert og kunne utføre på egen hånd. For eksempel ville det være umulig (og rett og slett ulogisk) å fortelle Cron-jobben å utføre en WordPress-indeks eller temafil hver dag på samme tid. Det er rett og slett ingen handlinger eller automatiserte prosesser definert, og selv om Cron-jobben absolutt vil utføre filen, ville den ikke gjøre noe og sitte statisk til brukerinndata ble gitt på en annen måte.

Av denne grunn, hvis du koder eller laster ned sikkerhetskopier eller andre for å jobbe med Cron-jobber, må du alltid forsikre deg om at de trenger nøyaktig null brukerinput for å utføre funksjonene sine. En automatisert oppgaveplanlegger må være sammenkoblet med en automatisert prosess i filen den kjører. Det er ingen unntak fra denne regelen.

Mastering the Overall Cron Tab File on a Typical Server

Hver spesifikke Cron-jobb som er spesifisert for utførelse ligger i en større fil som er kjent som en Cron-fane. Noen servere har flere Cron-faner for flere typer applikasjoner og automatiserte innganger, men dette er sjeldent og i stor grad forbeholdt de mest avanserte serveroperatørene og eierne. De som bare har en Cron-fanefil, kan bruke kommandoene nedenfor til å redigere, slette eller se filen i sin helhet, med hver av sine spesifikke automatiserte oppgaver oppført for visning i filen.

crontab -r

Denne kommandoen fjerner (altså “r”) eller sletter hele Cron-fanefilen selv. Dette vil effektivt rense den fra alle kommandoer og automatiserte skript, og gjenopprette den til en tom fil som kan gjenoppbygges. Dette er et passende alternativ for de som har klart å ødelegge filen eller på en eller annen måte feilaktige oppgaver og tider. Noen ganger er det rett og slett lettere å begynne på nytt.

crontab -e

I dette tilfellet står “e” for “rediger.” De brukerne som vil redigere funksjonene som er beskrevet i en Cron-fane i stedet for å slette filen helt, kan bruke denne kommandoen til å bli ført til kommandolinjeditoren som lar dem legge til nye oppgaver, fjerne gamle eller endre den gjeldende planen ganger for hver av Cron-jobbene som er oppført i Cron-fanedokumentet.

crontab -l

I dette tilfellet er det lett nok å huske ved å assosiere “L” med “utseende. Denne kommandoen lar en serveradministrator ganske enkelt se hele innholdet i Cron-fanefilen uten å fjerne den fra serveren helt og uten å kunne redigere innholdet. Denne skrivebeskyttede visningen av Cron-faneinnholdet er perfekt for å huske hvilke oppgaver som er planlagt til hvilke tider, og for å bekrefte integriteten til selve filen.

Hvorfor det er viktig å mestre Cron Job en Cron Tab Automation Files

Generelt sett er det eneste automatisert med en server spinning av harddisken og ytelsen til maskinvarefunksjonene. Men utover dette må serveren trene og instrueres til å utføre rutinemessige og ekstraordinære oppgaver som går utover bare å vise et programvarekontrollpanel eller oppgradere installasjonen av PHP eller Perl som en bruker har plassert på harddisken..

Det er viktig å huske at en av de mest essensielle funksjonene en server kan utføre med jevne mellomrom er å lage en sikkerhetskopi av data og innstillinger. Det er praktisk talt ingen måte å automatisere denne prosessen uten en Cron-jobb, og på grunn av internettets natur og alle ondsinnede besøkende som går gjennom et nettsted daglig, kan manglende automatisering av denne prosessen daglig eller ukentlig føre til betydelig og katastrofalt datatap.

Over og over det er det imidlertid en rekke oppgaver som bør automatiseres ved hjelp av Cron-jobbprosessen. Disse oppgavene inkluderer å rense eventuelle nettstedcacher som kan vise utdaterte bilder eller trykt innhold til besøkende. det inkluderer også å slette gamle filer, rydde opp i gamle kataloger og bilder, og sørge for at alt som er lagret på en servers harddisk er gjeldende og uforstyrret.

Akkurat som en sunn personlig datamaskin automatisk planlegger diskvedlikehold, antivirus- og malware-skanninger, programvareoppdateringer og sletting av filer, må en sunn server konfigureres til å ta vare på seg selv og forbli i god stand. Ellers blir det sårbart for krasj, hackingforsøk og tap av data som vil føre til tapt fortjeneste, reklame, innholdsoppretting og til og med status for søkemotorrangering.

Lett å lære og enklere å distribuere

Å opprette en Cron-jobb innenfor en standard Cron-fane er noe av det enkleste en serveradministrator kan gjøre.

Prosessen ligger innenfor standard kommandolinje og fordeler hvert segment av tid til en tosifret kode.

Fordi det ikke krever ytterligere kunnskap om noe nytt programmeringsspråk for å automatisere oppgaver, bygger tjenesten i hovedsak på den eksisterende programmerings- og serverdriftkunnskapen som en administrator allerede har. Når dette er tilfelle, er det rett og slett ingen grunn til ikke å begynne å automatisere viktige serverfunksjoner og sikre integriteten til nettstedsdata og -operasjoner.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me