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:
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
-
Executar un script cada dia a les 2:30 AM:
30 2 * * * /path/to/script.sh
-
Executar una comanda cada dilluns a les 5:00 PM:
0 17 * * 1 /path/to/command
-
Executar un script cada 15 minuts:
*/15 * * * * /path/to/script.sh
-
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:
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:
Eliminar Treballs Cron
Per eliminar tots els treballs cron de l'usuari actual, utilitza:
Exercicis Pràctics
Exercici 1: Programar un Script de Còpia de Seguretat
-
Crea un script de còpia de seguretat:
#!/bin/bash tar -czf /backup/my_backup_$(date +\%Y\%m\%d).tar.gz /home/user/data
-
Fes que l'script sigui executable:
chmod +x /path/to/backup_script.sh
-
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
-
Crea un script per eliminar fitxers temporals antics:
#!/bin/bash find /tmp -type f -mtime +7 -exec rm {} \;
-
Fes que l'script sigui executable:
chmod +x /path/to/cleanup_script.sh
-
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.
Curs de Programació en Bash
Mòdul 1: Introducció a Bash
- Què és Bash?
- Configuració del teu Entorn
- Navegació Bàsica per la Línia de Comandes
- Entenent la Shell
Mòdul 2: Comandes Bàsiques de Bash
- Operacions amb Fitxers i Directoris
- Comandes de Processament de Text
- Permisos i Propietat de Fitxers
- Redirecció i Piping
Mòdul 3: Conceptes Bàsics de Scripting
Mòdul 4: Scripting Intermedi
Mòdul 5: Tècniques Avançades de Scripting
- Operacions Avançades amb Fitxers
- Gestió de Processos
- Gestió d'Errors i Depuració
- Expressions Regulars
Mòdul 6: Treballant amb Eines Externes
Mòdul 7: Automatització i Programació
- Treballs Cron
- Automatització de Tasques
- Scripts de Còpia de Seguretat i Restauració
- Monitorització i Registre
Mòdul 8: Millors Pràctiques i Optimització
- Escriure Codi Llegible
- Optimització de Scripts en Bash
- Consideracions de Seguretat
- Control de Versions amb Git