Crontab Linux: Introducció a la Programació de Tasques

Darrera actualització: 26 d'abril de 2025
  • Crontab Linux permet programar tasques automàticament en moments específics.
  • L'estructura del fitxer Crontab inclou camps com ara minuts, hores i ordres.
  • Es poden redirigir sortides i errors per a un millor control de tasques.
  • És clau verificar rutes i permisos per evitar errors en lexecució.
Crontab Linux

Què és Crontab Linux?

Crontab Linux és una característica imprescindible per a administradors de sistemes i usuaris avançats de Linux. És un programador de tasques que us permet executar ordres o scripts de manera automàtica en moments específics o en intervals regulars. Crontab utilitza un fitxer especial per definir les tasques i el moment en què s'han de fer.

Configuració Inicial

Abans de començar a programar tasques amb Crontab Linux, necessiteu conèixer els conceptes bàsics i configurar el vostre entorn correctament.

Instal·lació de Crontab a Linux

Per començar, assegureu-vos que Crontab estigui instal·lat al vostre sistema. A la majoria de les distribucions Linux, ja està inclòs, però si no ho tens, pots instal·lar-lo fàcilment utilitzant la següent ordre:

sudo apt-get install cron

Quan estigui instal·lat, pots verificar si el servei està en funcionament amb:

systemctl estatus cron

Estructura d'un fitxer Crontab

Crontab utilitza un fitxer especial per emmagatzemar les tasques programades. Aquest fitxer segueix una estructura específica. Aquí hi ha una descripció general:

Camp Descripció Valors Acceptats
minuts Minut de l'hora (0 – 59) 0-59
Hores Hora del dia (0 – 23) 0-23
Dia del mes Dia del mes (1 – 31) 1-31
mes Mes (1 – 12 o nom del mes) 1-12 o Gen, Feb, …, Dic
Dia de la setmana Dia de la setmana (0 – 6) 0-6 o Dom, Lun, …, Diss
comando Ordre a executar Ruta de l'script o ordre
  Errors comuns i consells en migrar de Windows a Linux

La taula anterior mostra els camps que componen un fitxer Crontab i els valors acceptats per a cada camp.

exemples Pràctics

Ara que coneixeu l'estructura bàsica d'un fitxer Crontab, vegem alguns exemples pràctics de com programar tasques.

Tasca Diària a una Hora Específica

Imagina que vols fer una còpia de seguretat dels teus arxius cada dia a les 2:30 PM. Pots programar-lo de la següent manera:

30 14 * * * /ruta/al/comando-de-copia.sh

En aquest exemple, «30» representa els minuts, «14» les hores, i els asteriscs als altres camps signifiquen que la tasca s'executarà cada dia i cada mes.

Tasca Setmanal els Diumenges

Si vols executar una tasca només els diumenges a les 9:00 AM, pots fer-ho de la manera següent:

0 9 * * 0 /ruta/al/comando-de-tarea.sh

El camp 0 al primer lloc representa els minuts, 9 les hores, i 0 a l'últim camp indica que la tasca s'executarà només els diumenges.

Tasca Mensual el Primer Dia del Mes

Suposem que tens una tasca mensual que s'ha d'executar el primer dia de cada mes a les 3:00 AM:

0 3 1 * * /ruta/al/comando-mensual.sh

En aquest cas, 0 indica els minuts, 3 les hores, i 1 el dia del mes.

Trucs i Consells

Redirigint la sortida

Quan programes tasques amb Crontab Linux, és important gestionar la sortida de les tasques. Podeu redirigir la sortida estàndard i d'error cap a un fitxer per revisar-los posteriorment:

30 14 * * * /ruta/al/comando-de-copia.sh > /ruta/al/arxiu-de-sortida.log 2>&1

Aquesta línia d'ordres redirigeix ​​la sortida estàndard al fitxer «fitxer-de-sortida.log» i la sortida d'error al mateix fitxer.

Editeu l'Arxiu Crontab

Per editar el vostre fitxer Crontab, podeu utilitzar la següent ordre:

  Guia completa de monitorització de recursos a Linux: de top a btop

crontab -e

Això obrirà el fitxer al vostre editor de text per defecte, on podreu afegir, modificar o eliminar tasques programades.

Automatització Avançada amb Crontab Linux

Fins ara hem cobert els conceptes bàsics de Crontab Linux i com programar tasques simples. Ara explorem l'automatització avançada i algunes tècniques útils.

Executar Tasques a Intervals Personalitzats

Crontab us permet executar tasques en intervals personalitzats. Per exemple, si vols executar una tasca cada 15 minuts, pots fer-ho de la manera següent:

*/15 * * * * /ruta/al/comando-de-tarea.sh

L'asterisc seguit de "/15" al camp dels minuts significa que la tasca s'executarà cada 15 minuts.

Combinar Dates i Hores

Podeu combinar dates i hores per programar tasques precises. Per exemple, si vols que una tasca s'executi el 15 de gener a les 3:30 PM, ho pots fer així:

30 15 15 1 * /ruta/al/comando-de-tarea.sh

Evitar Corriments d'Horari

És important considerar els canvis dhorari quan programem tasques. Crontab Linux permet evitar problemes d'horari utilitzant UTC en lloc de l'hora local. Per fer-ho, podeu establir la zona horària al vostre fitxer Crontab:

TZ=UTC 30 14 * * * /ruta/al/comando-de-tasca.sh

Això assegurarà que la tasca s'executi a la mateixa hora sense importar els canvis locals.

Troubleshooting i Errors Comuns

La programació de tasques amb Crontab Linux és poderosa, però també pot ser propensa a errors. Aquí hi ha alguns consells per solucionar problemes comuns.

Verificar la Ruta dels Comandos

Un dels errors més comuns és especificar una ruta incorrecta per a l'ordre o script que vols executar. Assegureu-vos que la ruta sigui correcta i que el fitxer sigui executable.

  Guia Mestra de Comandes de Linux per a Principiants

Comprovar Permisos d'Execució

Si les vostres tasques no s'executen, verifiqueu que els fitxers i els scripts tinguin permisos adequats. Pots fer servir l'ordre chmod per establir els permisos adequats.

Revisar l'arxiu de registre

Si trobeu problemes amb una tasca, reviseu el fitxer de registre que heu especificat a Crontab. Allà trobareu informació detallada sobre els errors.

Conclusió

En aquest article, hem explorat Crontab Linux i com utilitzar-lo per programar tasques de manera eficient. Des de la instal·lació fins a la programació de tasques avançades i la solució de problemes, ara tens les eines necessàries per automatitzar tasques al sistema Linux . També pots aprendre sobre altres aspectes relacionats, com ara la programació i la seva importància en l'automatització.

història de l'automatització
Article relacionat:
7 Fites a la Història de l'Automatització: Del Telar al Robot