Mi script funciona a mano pero no desde cron
Un script que funciona en la terminal no hace nada cuando lo programas en crontab.
Por qué pasa (diagnóstico)
- cron ejecuta con un entorno mínimo:
PATHreducido y sin tus variables. - Rutas relativas que dependen del directorio actual.
- El script no tiene permiso de ejecución.
Solución paso a paso
- Usa rutas absolutas para el script y los comandos que llama.
- Define
PATH=al principio del crontab si hace falta. - Guarda la salida para ver errores:
... >> /tmp/script.log 2>&1. - Dale permisos:
chmod +x script.sh. - Edita con
crontab -e, no a mano.
Requisitos
- cron
Compatibilidad
- Debian
- Ubuntu
- Raspberry Pi OS
Verificación
Basado en la documentación oficial citada; aún no probado en este laboratorio.
Fuentes
- man 5 crontab (en inglés)
Guías relacionadas
- Los logs de systemd (journal) se comen el disco
- Un servicio de systemd no arranca: cómo ver el porqué
- «address already in use»: qué programa ocupa el puerto
- Docker: «permission denied … docker.sock» sin sudo
- Disco lleno por Docker (imágenes, caché y logs)
- Un contenedor no arranca solo tras reiniciar
Más guías de Linux y Docker.