Dominar el treball de Cron i automatitzar les tasques bàsiques del servidor

L’allotjament web està dissenyat per ser fàcil, senzill i perfecte per al professional que està en marxa i simplement no pot dedicar-se cada hora del dia a gestionar el seu servidor d’allotjament i tasques associades..


Per a això, gairebé tots els servidors basats en Unix o Linux ofereixen un gestor de tasques automatitzat conegut com “Cron Job” o “Crontab”.

Aquesta utilitat del programari s’assembla molt al programador de tasques a Microsoft Windows, ja que se li pot dir que faci determinades coses en determinats moments, estalviant a l’usuari que realitzi aquestes tasques manualment. Això és especialment important quan es considera que molts processos de manteniment, còpia de seguretat de seguretat i comunicacions de servidor rutinaris poden trigar hores i hores a completar-se. La majoria de les persones simplement volen tornar a casa després d’un dia a l’oficina i relaxar-se, en lloc de passar la nit fent còpies de seguretat de fitxers i gestionant contactes.

Aquestes persones tenen sort, ja que totes les tasques es poden programar diàriament, setmanalment o mensualment, o fins i tot més lluny, en alguns casos, i es poden donar instruccions específiques al servidor de la utilitat Crontab sobre com realitzar la tasca. , com saber quan ha finalitzat i què s’ha de fer quan s’hagi acabat la tasca a mà.

Els usuaris podran relaxar-se mentre el servidor fa totes les càrregues pesades durant hores; o simplement poden programar els treballs a dur a terme a la seva pròpia oficina. Com que està automatitzat, un treball de Cron es pot produir a pràcticament qualsevol hora del dia.

Aprenent a dir temps mitjançant un format de feina de Cron

Un treball de Cron no és exactament una cosa fàcil de dominar; de fet, es considera àmpliament una de les configuracions més avançades disponibles en un servidor web estàndard o Linux. Això és parcialment perquè el llenguatge que s’utilitza per programar aquests treballs és tan arcaic i, en alguns casos, completament endarrerit. Quan es tracta de dir un temps determinat a la tasca Cron o a la pestanya Cron en qüestió, les coses són certament cap enrere, cap per avall i una mica confuses.

El format per indicar el temps mitjançant un treball Cron és el següent:

MINUTA HORA DIA DE MES MES DE DÍA DE SETMANA

Es tracta d’una sola línia i, fins i tot, el número i el comandament es troben al costat d’una contracció uniforme. N’hi ha prou per fer que la majoria de desenvolupadors i operadors de servidors s’aconsegueixin guanyar i, de fet, molts d’ells ho aconsegueixen fins a obtenir un bloqueig per desenvolupar un treball Cron eficient.

És important tenir en compte que tots els aspectes del temps de treball de Cron són numèrics; no hi ha noms de dies de noms de mes ni altres paraules utilitzades al llarg del desenvolupament del temps durant el qual s’ha de realitzar una tasca.

Per tant, establim un treball de Cron fins a les 10:30 hores del 7 de juliol per tenir una idea de com es veu el temps d’un treball de Cron quan es converteix en nombres estrictament.

30 10 07 07 *

L’exemple anterior afirma que la tasca s’hauria d’acabar al minut 30 de la desena hora del setè dia del setè mes. Tots els números tenen una longitud de dos dígits, fins i tot quan el mes o el dia només és d’un sol dígit. És important recordar-ho, ja que un sol dígit farà que la feina de Cron no sigui vàlida i simplement no es realitzarà mai. Al final de l’estructura de con, un asterisc indica que la tasca s’ha de realitzar qualsevol dia de la setmana. Això és important, ja que establir el dia 03 per al dimecres significaria que la tasca només es realitzaria el 7 de juliol si aquest dia fos un dimarts. És probable que això passi cada set o vuit anys, cosa que és una mica absorbent per a la majoria dels desenvolupadors.

Una altra consideració important a tenir en compte a l’hora de configurar una feina Cron és que el format de les hores sigui el temps militar de 24 hores més que el de civils de 12 hores. Per canviar l’hora de treball de Cron a les 22h, es canviaria l’hora a 22 en lloc de les 10 actuals.

Exemples de treballs Cron

Finalment, si un usuari només vol completar una tasca diàriament, mensualment o fins i tot anualment, pot saltar-se completament el procés d’establiment d’una hora concreta. En canvi, el procés de treball Cron preveu simplement utilitzar variables que determinen quan es fa un treball en aquests intervals freqüents. Això inclou:

  • @daily
  • @mensual
  • @sigualment

Com que el temps no es pot controlar i determinar estrictament amb hores i minuts, aquests treballs es faran exactament a mitjanit, segons l’hora interna del servidor, a l’interval sol·licitat. Això significa que l’interval @monthly es produirà exactament a mitjanit del primer dia de cada mes. L’interval @yarly es produirà exactament a mitjanit del primer dia de cada any; i l’interval @daily es produirà exactament a mitjanit tots els dies de l’any.

Això és molt més fàcil que establir una data, hora i dia específic de la setmana, però algunes tasques que es realitzen a mitjanit del primer dia del mes o any poden tenir alguns inconvenients per a determinats clients. Tingueu sempre en compte les necessitats tant dels administradors com dels visitants del lloc quan programeu tasques que es produeixen exactament a mitjanit.

Agafa la variable “COMMAND” i què cal fer amb aquesta

Com es pot observar en l’exemple anterior, és bastant fàcil construir una tasca Cron real. Primer s’ha de definir la data i després es definirà immediatament la funció del treball Cron. Aquesta funció pot ser literalment qualsevol cosa, incloent l’execució d’un script PHP o l’execució d’un script de còpia de seguretat personalitzada que emmagatzemi els fitxers i les dades del servidor en un fitxer local remot o local. Per obtenir aclariments, aprofitarem l’exemple que s’havia utilitzat anteriorment i instruirem el treball de Cron per executar un script PHP el dia 7 de juliol a les 10:30 del matí. Aquest script PHP s’anomenarà “backup.php” i suposarem que el fitxer PHP és un script de còpia de seguretat completa que recopila, comprimeix i emmagatzema fitxers del lloc el set del mes, quan el servidor els ha de sol·licitar. Aquí teniu el que sembla:

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

Quan aquest treball Cron s’introdueixi a la llista de pestanyes Cron del servidor, s’executarà automàticament a les 10:30 hores cada 7 de juliol de cada any. Executarà l’script de còpia de seguretat de PHP que es troba al directori “backup-scripts” i és allà on funciona el veritable geni de la configuració de treball de Cron..

En lloc de requerir comandaments avançats dels seus usuaris per realitzar coses com les còpies de seguretat del lloc i els canvis de caché, simplement proporciona als usuaris la possibilitat d’executar scripts existents en un interval especificat o en una data determinada en un moment específic. Això significa que no cal tenir coneixement de programació avançat més enllà del que l’usuari ja sap. PHP és perfectament capaç de guardar fitxers de llocs de còpia de seguretat, així com els fitxers i llenguatges de programació molt més avançats que l’usuari més sofisticat pot desenvolupar per al seu servidor Linux.

Aquesta configuració senzilla es pot fer servir per fer pràcticament qualsevol cosa, sempre que un script preescrit prevegi l’execució d’aquelles accions independentment de l’entrada de l’usuari. Això significa que qualsevol script executat per una tasca Cron dins d’una pestanya Cron ha de ser totalment automatitzat i ser capaç d’executar per si sol. Per exemple, seria impossible (i simplement il·lògic) dir-li al treball de Cron que executi un índex de WordPress o un fitxer temàtic cada dia a la mateixa hora. Simplement, no hi ha definides accions o processos automatitzats i, mentre que el treball de Cron executaria certament el fitxer, no faria res i quedaria estàtic fins que l’entrada de l’usuari es proporcionés d’una altra manera..

Per aquest motiu, si codifiqueu o descarregueu scripts de còpia de seguretat o d’altres per treballar amb tasques Cron, sempre assegureu-vos que requereixen exactament zero entrada d’usuari per exercir les seves funcions amb èxit. Cal planificar un planificador de tasques automatitzat amb un procés automatitzat dins del fitxer que executa. No hi ha excepcions a aquesta regla.

Domini del fitxer de fitxa Cron general en un servidor típic

Cada tasca Cron específica que s’especifica per a l’execució es troba dins d’un fitxer més gran que es coneix com a pestanya Cron. Alguns servidors tenen diverses pestanyes Cron per a diversos tipus d’aplicacions i entrades automatitzades, però això és rar i es reserva en gran mesura per als propietaris i operadors del servidor més avançats. Aquells que tinguin un sol fitxer Cron poden utilitzar les comandes següents per editar, suprimir o visualitzar el fitxer en la seva totalitat, amb cadascuna de les seves tasques automatitzades específiques enumerades per visualitzar-les dins del fitxer..

crontab -r

Aquesta ordre elimina (per tant, “r”) o esborra tot el fitxer de fitxa Cron. D’aquesta manera, es purgarà de manera eficaç totes les ordres i els scripts automatitzats i es restaurarà a un fitxer en blanc que es pugui reconstruir. Aquesta és una opció adequada per a aquells que han aconseguit corrompre el fitxer o realitzar tasques i hores d’alguna manera inapropiades. De vegades, és senzill començar tot plegat.

crontab -e

En aquest cas, “e” significa “editar”. Aquells usuaris que vulguin editar les funcions descrites en una pestanya Cron en lloc d’esborrar el fitxer completament, poden utilitzar aquest comandament per a l’editor de la línia de comandes, que els permetrà afegir noves tasques, eliminar les antigues o canviar la programació aplicable. hores per a cadascun dels treballs de Cron que es llisten al document de pestanya Cron.

crontab -l

En aquest cas, és bastant fàcil recordar-ho associant la “L” a “look”. Aquesta ordre permet a un administrador del servidor simplement visualitzar el contingut complet del fitxer de fitxa Cron sense treure-lo del servidor completament i sense tenir la possibilitat d’editar el contingut. Aquesta visualització de només lectura de contingut de fitxa Cron és perfecta per recordar quines tasques estan programades per a quins temps i per verificar la integritat del fitxer en si..

Per què és important dominar la feina de Cron en fitxers d’automatització amb pestanyes Cron

En general, l’única cosa automatitzada d’un servidor és la filatura del seu disc dur i el rendiment de les seves característiques de maquinari. Més enllà d’això, però, el servidor ha de tenir l’ensenyat i instruït per fer tasques rutinàries i extraordinàries que vagin més enllà de la visualització d’un tauler de control de programari o l’actualització de la instal·lació de PHP o Perl que un usuari ha col·locat al disc dur..

És important recordar que una de les funcions més essencials que pot executar un servidor regularment és la creació d’una còpia de seguretat del lloc de dades i configuració. No hi ha pràcticament cap manera d’automatitzar aquest procés sense un treball de Cron i, a causa de la naturalesa d’internet i de tots els visitants maliciosos que passen diàriament per un lloc, la fallada d’automatitzar aquest procés diàriament o setmanalment podria produir un resultat significatiu. i pèrdua de dades catastròfiques.

Tot i això, a més, hi ha diverses tasques que haurien de ser automatitzades mitjançant el procés de treball de Cron. Aquestes tasques inclouen netejar qualsevol memòria cau del lloc que pugui mostrar imatges antigues o contingut imprès als visitants del lloc; també inclou esborrar fitxers antics, netejar directoris i imatges antigues i assegurar-se que tot el que s’emmagatzema al disc dur del servidor està actual i no corromput.

De la mateixa manera que un ordinador personal saludable programa automàticament el manteniment del disc, els escaneigs antivirus i programari maliciós, les actualitzacions de programari i la supressió de fitxers, cal configurar un servidor saludable per tenir-ne cura i mantenir-se en bon estat. En cas contrari, es torna vulnerable als accidents, intents de pirateria i pèrdua de dades que comportaran pèrdues de beneficis, publicitat, creació de contingut i fins i tot estatus de classificació del motor de cerca..

Fàcil d’aprendre i més fàcil de implementar

La creació d’un treball de Cron dins d’una pestanya Cron estàndard és una de les coses més fàcils que pot fer l’administrador del servidor.

El procés es troba dins de la línia d’ordres estàndard i desglossa cada segment de temps en un codi de dos dígits.

Com que no requereix cap coneixement addicional de cap llenguatge de programació nou per automatitzar tasques, el servei es basa fonamentalment en els coneixements d’operacions de programació i servidor existents que ja té un administrador. En aquest cas, simplement no hi ha cap motiu per no començar a automatitzar funcions essencials del servidor i assegurar la integritat de les dades i les operacions del lloc.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map