Guia Completa per Programar Còpies de Seguretat i Tasques Automàtiques amb Cron a Linux

Darrera actualització: 28 d'agost de 2026
  • Funcionament del dimoni crond i la gestió de tasques mitjançant el fitxer crontab.
  • Sintaxi detallada i ús de caràcters especials per programar execucions precises.
  • Implementació de scripts de respatller amb TAR i automatització de manteniment del sistema.
  • Alternatives modernes com systemd timers i eines gràfiques per a l'administració de processos.

Infraestructura d'un centre de dades modern amb racks de servidors per a hosting de Linux.

Si t'has passat fa poc a Linux o ja fa temps que administras el teu propi servidor, t'hauràs adonat que hi ha tasques que són una autèntica llauna fer a mà. Des de netejar arxius temporals fins a assegurar que les teves dades estiguin fora de perill amb un backup, automatitzar aquests processos és la clau per no tornar-se boig i evitar que una simple distracció esborri la feina de tot un mes.

Per solucionar això, els sistemes tipus UNIX compten amb una eina llegendària anomenada Cron. Bàsicament, és com un rellotge despertador per a ordres que s'encarrega de llançar scripts o aplicacions en el moment exacte que tu li diguis, treballant en segon pla mentre tu et prens un cafè o t'oblides del tot que aquesta tasca existeix.

Administrador de sistemes monitoritzant processos en temps real en una terminal Linux amb múltiples panells.
Article relacionat:
Guia completa de monitorització de recursos a Linux: de top a btop

Què és exactament Cron i com es mou?

Pantalla de terminal de Linux mostrant la configuració de tasques programades al fitxer crontab.

Quan parlem de Cron, en realitat ens referim a un dimoni anomenat crond . Al món de Linux, un dimoni és simplement un procés que s'executa en el fons, sense interfície, des que arrenca el sistema. El seu treball és monotònic però vital: cada minut revisa els fitxers de configuració per veure si hi ha algun treball programat (cron job) que coincideixi amb l'hora i la data actual.

Perquè tot això funcioni com la seda, és fonamental que el rellotge del sistema estigui ben ajustat. Si l'hora o la zona horària fallen, les teves còpies de seguretat s'executaran quan no ho deuen. Per això, es recomana fer servir l'ordre timedatectl per verificar que la sincronització amb els servidors NTP sigui correcta, assegurant que l'equip no tingui desfasaments temporals.

L'arxiu Crontab: On passa la màgia

Si Cron és el motor, el crontab és el mapa d'instruccions . Es tracta d'un fitxer de text on anotem què volem executar i quan. El més curiós és que no hi ha un sol arxiu; el sistema té un crontab global a /etc/crontab, però cada usuari pot tenir el seu propi , cosa que permet que persones diferents programin les seves tasques sense necessitat de tenir permisos dadministrador tot el temps.

docker compose homelab
Article relacionat:
Docker Compose en homelab: organització, perfils i bones pràctiques

Per gestionar aquestes tasques, fem servir l'ordre crontab -e per editar, crontab -l per llistar el que tenim actiu i crontab -r si volem esborrar-ho tot i començar de zero. És una forma molt neta dorganitzar el manteniment del sistema sense tocar arxius crítics del nucli.

  Frustracions d'usuaris de Linux en utilitzar Windows 11

Desglossant la sintaxi de Cron

Escriptori de treball amb portàtil i discs durs externs per a la realització de còpies de seguretat de dades.

Per programar una tasca, cal seguir un ordre molt estricte de cinc camps temporals seguits de l'ordre. L'esquema és: minut, hora, dia del mes, mes i dia de la setmana . Per exemple, si posem 0 19 * * 0, estem dient al sistema que s'activi a les 7 de la tarda cada diumenge.

Per fer-nos la vida més fàcil, existeixen caràcters especials que ens donen un control total. L'asterisc (*) significa «sempre» o «qualsevol valor», mentre que la barra (/) serveix per definir intervals, com ara */10 per executar una mica cada deu minuts. El guió (-) defineix rangs i la coma (,) permet llistar valors específics. A més, hi ha dreceres predefinides com @daily, @weekly o @reboot, que simplifiquen l'escriptura per als casos més comuns.

Creant el teu primer sistema de còpies de seguretat

Una de les aplicacions més útils és el suport de dades. Per fer-ho, l'eina TAR és l'opció nativa per excel·lència. Podem crear un script a Bash que empaqueti els nostres arxius, els assigneu la data actual al nom del fitxer i, molt important, excloeu carpetes innecessàries com la memòria cau o la paperera perquè el backup no pesi gigues d'escombraries.

mesura consum energia homelab
Article relacionat:
Com mesurar i optimitzar el consum elèctric del teu homelab

Un cop creat l'script (per exemple, a /usr/local/bin/mybackup) i atorgats els permisos d'execució amb chmod +x , només cal afegir una línia al crontab de root. D'aquesta manera, el servidor farà el respatller sol, fins i tot pot programar que l'script esborri automàticament les còpies que tinguin més de dues setmanes per no saturar l'emmagatzematge del disc dur.

  La programació estructurada: Tot el que has de conèixer

Administració avançada i rutes absolutes

Administradora de sistemes treballant amb una portàtil en una sala de servidors professional.

Un error molt comú entre principiants és fer servir rutes relatives als seus scripts. Cron s'executa en un entorn molt reduït i no sap on ets aturat, per la qual cosa sempre cal fer servir rutes absolutes (com /home/usuari/script.sh en lloc de ./script.sh). Si no, la comanda fallarà silenciosament i t'enduràs una sorpresa desagradable quan necessitis recuperar les teves dades.

Per no anar a cegues, és vital redirigir la sortida a logs. Usant l'operador >>> /var/log/backup.log 2>&1, podem desar tant els encerts com els errors en un fitxer. Així, si alguna cosa falla, només hem de fer una ullada a l'arxiu de registre per saber exactament què ha passat sense haver d'endevinar.

Impacte en el rendiment i bones pràctiques

No convé omplir el sistema de tasques que s'executin cada segon, ja que això pot provocar pics de consum de CPU i RAM . El més intel·ligent és programar els processos pesants, com ara les actualitzacions de bases de dades o els backups massius, durant la matinada o hores de baix trànsit per no afectar els usuaris.

mailing gratis per a PIMES
Article relacionat:
Mailing gratis per a PIMES: eines i estratègies clau

Per evitar que una tasca se solapi amb una altra si la primera triga més del compte, es recomana l'ús de flock , que impedeix execucions concurrents del mateix script. Així mateix, per restringir qui pot utilitzar Cron, l'administrador pot configurar els fitxers cron.allow i cron.deny , assegurant que només el personal autoritzat pugui programar tasques al servidor.

Alternatives modernes: Systemd Timers i més

Encara que Cron és un clàssic, els sistemes moderns porten els systemd timers . Aquests són molt més potents perquè permeten gestionar dependències, manejar millor els errors i executar tasques basant-se en esdeveniments del sistema (com l'arrencada) i no només al rellotge. Es configuren mitjançant fitxers .timer i .service a /etc/systemd/system/.

  Tot sobre l'Herència en Programació Orientada a Objectes

Per als que no es porten bé amb la terminal, hi ha opcions gràfiques com KCron (per a KDE) o eines web com Webmin. En altres sistemes operatius, com ara macOS, s'utilitza launchd , que ofereix una integració molt més profunda amb l'ecosistema d'Apple, que permet reiniciar tasques fallides de forma automàtica.

Altres casos d'ús real a servidors

Més enllà dels backups, Cron és l'eina perfecta per mantenir el sistema net . Es poden programar tasques que esborrin els logs antics cada setmana o que reiniciïn serveis que tendeixen a penjar-se. També és fonamental per a la sincronització de dades mitjançant rsync entre diferents màquines, assegurant que la informació estigui replicada sense intervenció humana.

En entorns web, s'utilitza constantment per enviar correus massius , generar reports de vendes diaris o actualitzar la memòria cau d'una pàgina. Bàsicament, qualsevol acció que sigui repetitiva i predictible pot i ha de ser delegada a Cron per optimitzar la productivitat de l'administrador.

El domini de l'automatització a Linux permet transformar un servidor manual en una màquina autònoma i eficient. Combinant l'ús de scripts Bash, la precisió de crontab i la vigilància dels logs, és possible garantir que el manteniment, la seguretat i la integritat de les dades es gestionin sols, alliberant temps i reduint dràsticament el marge d'error humà en la gestió d'infraestructures.