Skip to content

Introducción a la función del Task Scheduler

El Task Scheduler (Programador de tareas) se utiliza para automatizar tareas periódicas en WSL, evitando operaciones de mantenimiento manual repetitivas. Proporciona una interfaz de administración visual que le permite crear y gestionar tareas programadas sin necesidad de recordar parámetros complejos de línea de comandos.

Ejemplos de escenarios de esta función:

  • Realizar copias de seguridad periódicas de las distribuciones de WSL
  • Ejecutar scripts o comandos personalizados

Todas las tareas se recopilan en la ruta \WSLDashboard\UserTasks\ del Programador de tareas de Windows para su administración y visualización centralizadas. Puede ver el estado en tiempo real de las tareas (Listo / Ejecutándose / Deshabilitado) en la interfaz.

Scripts de la comunidad

Puede descargar scripts de ejemplo (copias de seguridad de distribuciones) del repositorio comunitario para empezar rápidamente:

https://github.com/owu/wsl-community

Este es un repositorio de código impulsado por la comunidad. Las Pull Requests son bienvenidas para contribuir con scripts o compartir mejores prácticas.

Ejecutar comando

Configuración del comando

Cada tarea programada puede configurarse con un comando (script o ejecutable) que admite las siguientes opciones:

ConfiguraciónDescripción
ComandoRuta al script o ejecutable. Admite los formatos .bat, .ps1, .cmd, .exe, .py. Use el botón "Examinar" para seleccionar un archivo.
ArgumentosArgumentos adicionales para pasar al comando, opcional.
Ejecutar con privilegios de administradorAl activarlo, la tarea se ejecuta con los privilegios más altos, adecuado para operaciones que requieren elevación de UAC.

Operaciones de tarea

Después de crear una tarea, puede realizar las siguientes operaciones:

AcciónDescripción
Ejecutar ahoraForzar la ejecución inmediata de la tarea, independientemente de las reglas de programación.
Habilitar/DeshabilitarPausar o reanudar la programación automática de la tarea.
EliminarEliminar la tarea del Programador de tareas.

Reglas de programación

Expresión Cron

La programación de tareas utiliza la expresión Cron estándar de 5 campos para definir las reglas de ejecución:

minuto hora día mes día_semana
CampoRangoDescripción
minuto0 - 59El minuto de la hora en que se ejecuta
hora0 - 23La hora del día en que se ejecuta
día1 - 31El día del mes en que se ejecuta
mes1 - 12El mes del año en que se ejecuta
día_semana0 - 7Día de la semana (0 y 7 representan ambos el domingo)

Cada campo admite la siguiente sintaxis:

  • * — Coincide con todos los valores (por ejemplo, * * * * * significa cada minuto)
  • */N — Cada N unidades (por ejemplo, */5 * * * * significa cada 5 minutos)
  • Número único — Coincide con un valor específico (por ejemplo, 0 9 * * 1 significa cada lunes a las 9:00 a. m.)

Nota: No se admiten valores múltiples separados por comas (como 1,15) ni expresiones de rango (como 1-5). Para más limitaciones, consulte Notas importantes a continuación.

Patrones de combinación admitidos

Este software no ejecuta un demonio Cron nativo. En su lugar, traduce las expresiones Cron en parámetros de desencadenador del Programador de tareas de Windows (schtasks.exe). Para garantizar una asignación precisa, el analizador solo admite los siguientes 7 patrones de combinación, que cubren la mayoría de los escenarios de tareas programadas:

#PatrónDescripciónCaso de uso
1* * * * *Ejecutar cada minutoTareas de monitoreo y detección en tiempo real
2*/N * * * *Ejecutar cada N minutosTareas de verificación periódica
3M * * * *Ejecutar en el minuto M de cada hora (p. ej. 3 * * * *)Tareas por hora
4M H * * *Ejecutar diariamente a H:M (p. ej. 0 3 * * *)Mantenimiento diario, p. ej. limpiar registros a medianoche
5M H * * DOWEjecutar a H:M en un día específico de la semana (p. ej. 0 12 * * 1)Tareas rutinarias semanales, p. ej. realizar copias de seguridad cada lunes
6M H D * *Ejecutar a H:M en un día específico del mesTareas mensuales, p. ej. generar informes el día 1
7M H D MON *Ejecutar a H:M en un mes y día específicosTareas anuales, p. ej. ejecutar en un mes específico

Si la expresión no coincide con ninguno de los 7 patrones anteriores, el sistema la rechazará como Unsupported cron pattern.

Notas importantes

Dado que la implementación se basa en el Programador de tareas de Windows, el analizador Cron de este software difiere del Cron Linux estándar en los siguientes aspectos:

1. No se admiten listas (,) ni rangos (-)

El Cron estándar permite definir múltiples puntos de tiempo discretos con comas (p. ej. 1,15,30 * * * * significa en los minutos 1, 15 y 30), o rangos con guiones (p. ej. 1-5 * * * * significa los minutos 1 a 5).

Limitación de este software: Cada campo solo puede contener un número único, un asterisco (*) o un valor de paso (*/N). No se admiten comas ni guiones.

2. No se admiten combinaciones libres

El Cron estándar permite combinaciones arbitrarias de campos (p. ej. * 3 * * * significa cada minuto durante la hora de las 3). Sin embargo, este software solo admite los 7 patrones fijos enumerados anteriormente. Las expresiones fuera de este rango serán rechazadas.

3. Diferencia de alineación temporal en patrones de paso

En el Cron estándar, */5 * * * * se alinea estrictamente a los minutos 0, 5, 10, 15... del reloj. Este software lo traduce al parámetro de Windows /SC MINUTE /MO 5. Windows calcula el intervalo desde el momento de la creación o activación de la tarea.

Por ejemplo, si guarda y activa una tarea que se ejecuta cada 5 minutos a las 10:02, se ejecutará por primera vez a las 10:07, luego a las 10:12, en lugar de alinearse con las 10:05 del reloj estándar.