Els treballs cron són una eina poderosa en Bash per programar l'execució automàtica de scripts i comandes en moments específics. Això és especialment útil per a tasques repetitives com còpies de seguretat, neteja de fitxers temporals, o qualsevol altra tasca que necessiti ser executada de manera periòdica.

Què és Cron?

Cron és un servei de sistema Unix que s'utilitza per programar comandes o scripts per a l'execució automàtica en moments específics. Els treballs cron es defineixen en un fitxer anomenat crontab.

Sintaxi de Crontab

La sintaxi bàsica d'una entrada en el fitxer crontab és la següent:

* * * * * /path/to/command

Cada asterisc representa una unitat de temps:

Camp Descripció Valors Permesos
Minut Minut de l'hora 0-59
Hora Hora del dia 0-23
Dia del mes Dia del mes 1-31
Mes Mes de l'any 1-12
Dia de la setmana Dia de la setmana 0-7 (0 i 7 són diumenge)

Exemples de Treballs Cron

  1. Executar un script cada dia a les 2:30 AM:

    30 2 * * * /path/to/script.sh
    
  2. Executar una comanda cada dilluns a les 5:00 PM:

    0 17 * * 1 /path/to/command
    
  3. Executar un script cada 15 minuts:

    */15 * * * * /path/to/script.sh
    
  4. Executar una comanda el primer dia de cada mes a la mitjanit:

    0 0 1 * * /path/to/command
    

Configuració de Crontab

Editar el Fitxer Crontab

Per editar el fitxer crontab de l'usuari actual, utilitza la comanda:

crontab -e

Això obrirà l'editor de text predeterminat amb el fitxer crontab de l'usuari. Aquí pots afegir, modificar o eliminar treballs cron.

Llistar Treballs Cron

Per veure els treballs cron programats per a l'usuari actual, utilitza:

crontab -l

Eliminar Treballs Cron

Per eliminar tots els treballs cron de l'usuari actual, utilitza:

crontab -r

Exercicis Pràctics

Exercici 1: Programar un Script de Còpia de Seguretat

  1. Crea un script de còpia de seguretat:

    #!/bin/bash
    tar -czf /backup/my_backup_$(date +\%Y\%m\%d).tar.gz /home/user/data
    
  2. Fes que l'script sigui executable:

    chmod +x /path/to/backup_script.sh
    
  3. Programa el treball cron per executar l'script cada dia a les 3:00 AM:

    0 3 * * * /path/to/backup_script.sh
    

Exercici 2: Neteja de Fitxers Temporals

  1. Crea un script per eliminar fitxers temporals antics:

    #!/bin/bash
    find /tmp -type f -mtime +7 -exec rm {} \;
    
  2. Fes que l'script sigui executable:

    chmod +x /path/to/cleanup_script.sh
    
  3. Programa el treball cron per executar l'script cada diumenge a les 4:00 AM:

    0 4 * * 0 /path/to/cleanup_script.sh
    

Errors Comuns i Consells

  • Error de Permisos: Assegura't que els scripts que vols executar amb cron tinguin permisos d'execució.
  • Ruta Incorrecta: Utilitza rutes absolutes en els teus scripts i comandes cron per evitar errors de localització.
  • Sortida de Comandes: Redirigeix la sortida de les comandes a fitxers de registre per a una millor depuració. Per exemple:
    0 3 * * * /path/to/backup_script.sh >> /path/to/backup.log 2>&1
    

Conclusió

Els treballs cron són una eina essencial per a l'automatització de tasques en sistemes Unix. Amb una comprensió bàsica de la sintaxi de crontab i la configuració adequada, pots programar una àmplia varietat de tasques per executar-se automàticament, millorant així l'eficiència i la gestió del teu sistema.

© Copyright 2024. Tots els drets reservats