Skip to content

Programador de tareas ​

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

Ejemplos de uso de esta función:

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

Todas las tareas se agrupan bajo la ruta \WSLDashboard\UserTasks\ del Programador de tareas de Windows, lo que facilita su consulta y gestión centralizada. Puede ver el estado de las tareas en tiempo real en la interfaz (lista / en ejecución / deshabilitada).

Repositorio de scripts de la comunidad ​

Puede descargar scripts de ejemplo (copia de seguridad de distribuciones) del siguiente repositorio de la comunidad para empezar rápidamente:

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

Es un repositorio de código construido por los usuarios; le invitamos a enviar Pull Requests para aportar scripts o compartir mejores prácticas.

Ejecutar comandos ​

Configuración del comando ​

Cada tarea programada puede configurar el comando a ejecutar (script o programa ejecutable), con las siguientes opciones:

Elemento de configuraciónDescripción
Comando a ejecutarLa ruta del script o programa ejecutable a ejecutar; admite formatos como .bat, .ps1, .cmd, .exe, .py. Puede seleccionar el archivo con el botón "Examinar".
Parámetros del comandoParámetros adicionales que se pasan al comando; opcional.
Privilegios de administradorAl marcarla, la tarea se ejecutará con los privilegios más altos; útil para operaciones que requieren elevación de UAC.

Operaciones con tareas ​

Tras crear una tarea, puede realizar las siguientes operaciones:

OperaciónDescripción
Ejecutar ahoraFuerza la ejecución inmediata de la tarea, sin estar sujeta a las reglas de programación.
Habilitar/DeshabilitarPausa o reanuda la programación automática de la tarea.
EliminarElimina la tarea del Programador de tareas.

Reglas de programación ​

Expresión Cron ​

La programación de tareas utiliza una expresión Cron estándar de 5 campos para definir las reglas de ejecución, con el siguiente formato:

minutos horas día mes día-de-la-semana
CampoRango de valoresDescripción
Minutos0 - 59Minuto de cada hora en que se ejecuta
Horas0 - 23Hora de cada día en que se ejecuta
Día1 - 31Día de cada mes en que se ejecuta
Mes1 - 12Mes de cada año en que se ejecuta
Día de la semana0 - 70 y 7 representan ambos el domingo

Cada campo admite la siguiente sintaxis:

  • * — coincide con todos los valores (por ejemplo, * * * * * significa ejecutar cada minuto)
  • */N — se ejecuta cada N unidades (por ejemplo, */5 * * * * significa ejecutar cada 5 minutos)
  • Un número solo — coincide con un valor específico (por ejemplo, 0 9 * * 1 significa ejecutar los lunes a las 9:00)

Nota: no se admiten múltiples valores separados por comas (como 1,15) ni expresiones de rango (como 1-5); para más limitaciones, consulte las notas a continuación.

Patrones de combinación compatibles ​

Este software no ejecuta un demonio Cron nativo; en su lugar, traduce la expresión Cron a los parámetros de disparador del Programador de tareas de Windows (schtasks.exe). Para un mapeo preciso, el analizador solo admite de forma fija los siguientes 7 patrones de combinación, que cubren la gran mayoría de los escenarios de tareas programadas:

#PatrónDescripciónEscenario típico
1* * * * *Ejecutar cada minutoTareas de supervisión y detección en tiempo real
2*/N * * * *Ejecutar cada N minutosTareas de comprobación periódica
3M * * * *Ejecutar en el minuto M de cada hora (p. ej., 3 * * * *)Tareas a la hora en punto
4M H * * *Ejecutar a la hora H y minuto M de cada día (p. ej., 0 3 * * *)Mantenimiento diario, como limpiar registros de madrugada
5M H * * DOWEjecutar a la hora H y minuto M en un día concreto de la semana (p. ej., 0 12 * * 1)Tareas semanales, como copias de seguridad los lunes
6M H D * *Ejecutar a la hora H y minuto M en un día concreto del mesTareas mensuales, como generar informes el día 1
7M H D MON *Ejecutar a la hora H y minuto M en un mes y día concretos del añoTareas anuales, como ejecutar en un mes determinado

Si la expresión no pertenece a los 7 patrones anteriores, el sistema la considerará Unsupported cron pattern y rechazará su creación.

Notas ​

Dado que la implementación subyacente se basa en el Programador de tareas de Windows, el analizador Cron de este software presenta las siguientes diferencias respecto al Cron estándar de Linux:

1. No admite listas (,) ni rangos (-) ​

El Cron estándar permite definir varios puntos temporales discretos con comas (como 1,15,30 * * * *, que significa ejecutar en los minutos 1, 15 y 30) o rangos con guiones (como 1-5 * * * *, que significa ejecutar en los minutos 1 a 5).

Limitación de este software: cada campo solo puede contener un número, un asterisco (*) o un paso (*/N); no admite comas ni guiones.

2. No admite combinaciones libres ​

El Cron estándar permite combinar libremente cualquier campo (como * 3 * * *, que significa ejecutar cada minuto de la hora de las 3 de la madrugada), pero este software solo admite los 7 patrones fijos enumerados anteriormente; las expresiones fuera de ese rango se rechazan.

3. Diferencia de alineación temporal en el modo de paso ​

En el Cron estándar, */5 * * * * se alinea estrictamente con los minutos 0, 5, 10, 15... del reloj. Este software lo traduce a los parámetros /SC MINUTE /MO 5 de Windows, y la lógica de Windows calcula el intervalo desde el momento en que la tarea se crea o se habilita.

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