Repasa rutas absolutas, permisos, redirecciones y procesos antes de ejecutar tareas sin supervisión.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Cron y calendario con Automatización segura y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Prepara una máquina virtual Linux con red NAT e instantáneas, o WSL para las prácticas que no requieren kernel y systemd completos.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Cron y calendario y Automatización segura? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Programarás tareas comprendiendo tiempo, entorno, concurrencia, registros e idempotencia, y compararás cron con timers de systemd.
- Cron describe cinco campos y un entorno reducido
- Propiedad, rutas e idempotencia son parte de la tarea
- Un timer de systemd conecta calendario, servicio y registros
Cron describe cinco campos y un entorno reducido
Una entrada de usuario expresa minuto, hora, día del mes, mes y día de semana, seguida de la orden. Los asteriscos, listas, rangos y pasos combinan calendarios. Cron no carga necesariamente tu entorno interactivo: usa rutas absolutas, define PATH y registra salida y errores.
*/15 en minuto significa cada quince minutos.
Día del mes y día de semana pueden tener semántica OR según cron.
La zona horaria y el horario de verano afectan expectativas.
¿Qué significa */20 * * * *?
Mostrar respuesta +
Ejecutar en los minutos 0, 20 y 40 de cada hora, todos los días, según el reloj y zona del sistema.
Propiedad, rutas e idempotencia son parte de la tarea
Una tarea privilegiada es tan segura como cada script, directorio, comando y archivo que usa. Evita PATH ambiguo, archivos temporales predecibles y scripts editables. Un trabajo idempotente puede repetirse sin duplicar efectos; un bloqueo evita solapamientos cuando una ejecución tarda más que el intervalo.
stat y namei revisan la cadena de propiedad.
flock coordina una única ejecución.
mktemp crea nombres temporales difíciles de predecir.
¿Qué riesgo existe si root ejecuta un script ubicado en un directorio escribible por cualquier usuario?
Mostrar respuesta +
Otro usuario puede reemplazar o modificar el script y lograr que root ejecute contenido no autorizado.
Un timer de systemd conecta calendario, servicio y registros
Un timer activa normalmente una unidad service. Puede expresar calendarios, retrasos, persistencia tras apagados y aleatorización. systemctl list-timers muestra próxima y última ejecución; journalctl conserva el resultado junto a la unidad. Elegir cron o timer depende del sistema y de la operación, no de cuál parece más moderno.
OnCalendar expresa tiempo de calendario.
Persistent puede recuperar una ejecución perdida.
RandomizedDelaySec distribuye carga entre equipos.
¿Qué ventaja tiene separar una unidad service de su timer?
Mostrar respuesta +
Puedes ejecutar y comprobar la operación de forma independiente, mientras el timer se limita a decidir cuándo activarla.
Tu recorrido en tres ideas
- Cron describe cinco campos y un entorno reducido
- Propiedad, rutas e idempotencia son parte de la tarea
- Un timer de systemd conecta calendario, servicio y registros
Programa un respaldo que pueda repetirse
Combina calendario, identidad, entorno, exclusión mutua, logs e idempotencia para automatizar sin sorpresas.
Una tarea funciona en tu terminal, falla en cron y a veces dos ejecuciones escriben el mismo destino.
Procedimiento
- Ejecuta manualmente con un entorno mínimo y rutas absolutas.
- Añade bloqueo, temporal, registro y estado de salida.
- Programa, observa una ejecución y restaura un archivo desde el resultado.
Evidencia mínima
- Entorno y calendario documentados.
- Prueba de solapamiento impedido.
- Restauración con hash correcto.
Mostrar razonamiento modelo +
El script no depende de .bashrc, crea su temporal, usa flock y solo publica un respaldo validado. Cron o el timer registra cada estado.
Para ir más lejos¿Cómo notificarías fallos repetidos sin enviar un aviso por cada intento?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Suponer que cron carga el mismo PATH y configuración que tu terminal.
Programar una tarea frecuente sin evitar solapamientos ni guardar registros.
Ahora hazlo sin guía
Programa un informe diario idempotente mediante cron o timer y demuestra una ejecución manual, una programada y un fallo controlado.
Mostrar pauta de corrección +
- Explica calendario y zona horaria.
- Usa rutas y propiedad seguras.
- Conserva estado, stdout, stderr y mecanismo de bloqueo.
