Skip to content

Pianificazione attività ​

Il Programma di pianificazione (Task Scheduler) viene utilizzato per automatizzare attività periodiche in WSL, evitando operazioni di manutenzione manuale ripetitive. Fornisce un'interfaccia di gestione visiva che consente di creare e gestire attività pianificate senza dover memorizzare complessi parametri della riga di comando.

Scenari di esempio di questa funzione:

  • Backup periodico delle distribuzioni in WSL
  • Esecuzione di script o comandi personalizzati

Tutte le attività sono raggruppate sotto il percorso \WSLDashboard\UserTasks\ del Programma di pianificazione di Windows, per una consultazione e gestione centralizzata. Nell'interfaccia è possibile visualizzare in tempo reale lo stato delle attività (pronte / in esecuzione / disabilitate).

Repository di script della community ​

È possibile scaricare script di esempio (backup delle distribuzioni) dal repository della community qui sotto per iniziare rapidamente:

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

È un repository di codice costruito dagli utenti: siete invitati a inviare Pull Request per contribuire con script o condividere buone pratiche.

Esecuzione di comandi ​

Configurazione del comando ​

Ogni attività pianificata può configurare il comando da eseguire (script o programma eseguibile), con le seguenti opzioni:

Voce di configurazioneDescrizione
Comando da eseguireIl percorso dello script o del programma eseguibile da eseguire; supporta formati come .bat, .ps1, .cmd, .exe, .py. È possibile selezionare il file tramite il pulsante "Sfoglia".
Parametri del comandoParametri aggiuntivi da passare al comando; facoltativo.
Privilegi di amministratoreSe selezionato, l'attività verrà eseguita con i privilegi più elevati, adatta per operazioni che richiedono l'elevazione UAC.

Operazioni sulle attività ​

Dopo la creazione, è possibile eseguire le seguenti operazioni sull'attività:

OperazioneDescrizione
Esegui oraForza l'esecuzione immediata dell'attività, senza rispettare le regole di pianificazione.
Abilita/DisabilitaSospende o riprende la pianificazione automatica dell'attività.
EliminaRimuove l'attività dal Programma di pianificazione.

Regole di pianificazione ​

Espressione Cron ​

La pianificazione delle attività utilizza la espressione Cron standard a 5 campi per definire le regole di esecuzione, con il formato seguente:

Minuti Ore Giorno Mese Giorno della settimana
CampoIntervallo di valoriDescrizione
Minuti0 - 59Il minuto di ogni ora in cui eseguire
Ore0 - 23L'ora di ogni giorno in cui eseguire
Giorno1 - 31Il giorno di ogni mese in cui eseguire
Mese1 - 12Il mese di ogni anno in cui eseguire
Giorno della settimana0 - 7Sia 0 che 7 rappresentano la domenica

Ogni campo supporta la seguente sintassi:

  • * — corrisponde a tutti i valori (ad esempio * * * * * indica l'esecuzione ogni minuto)
  • */N — esegue ogni N unità (ad esempio */5 * * * * indica l'esecuzione ogni 5 minuti)
  • Numero singolo — corrisponde a un valore specifico (ad esempio 0 9 * * 1 indica l'esecuzione alle 9:00 del lunedì)

Nota: non sono supportati più valori separati da virgola (come 1,15) né espressioni di intervallo (come 1-5); per altri limiti, vedere le Avvertenze di seguito.

Modelli di combinazione supportati ​

Questo software non esegue un demone Cron nativo, ma traduce l'espressione Cron in parametri di trigger delle attività pianificate di Windows (schtasks.exe). Per garantire una mappatura accurata, il parser supporta in modo hardcoded solo i seguenti 7 modelli di combinazione, che coprono la stragrande maggioranza degli scenari di attività pianificate:

#ModelloDescrizioneScenario applicabile
1* * * * *Esecuzione ogni minutoAttività di monitoraggio e rilevamento in tempo reale
2*/N * * * *Esecuzione ogni N minutiAttività di controllo periodico
3M * * * *Esecuzione al minuto M di ogni ora (es. 3 * * * *)Attività a cadenza oraria
4M H * * *Esecuzione ogni giorno alle H:M (es. 0 3 * * *)Manutenzione quotidiana, ad esempio pulizia dei log ogni notte
5M H * * DOWEsecuzione in un giorno specifico della settimana alle H:M (es. 0 12 * * 1)Attività settimanali di routine, ad esempio il backup dei dati ogni lunedì
6M H D * *Esecuzione in una data specifica del mese alle H:MAttività mensili, ad esempio la generazione di report il giorno 1 di ogni mese
7M H D MON *Esecuzione in un mese e una data specifici dell'anno alle H:MAttività annuali, ad esempio l'esecuzione in un determinato mese

Se l'espressione non rientra nei 7 modelli sopra indicati, il sistema la considererà Unsupported cron pattern e ne rifiuterà la creazione.

Avvertenze ​

Poiché l'implementazione sottostante si basa sulle attività pianificate di Windows, il parser Cron di questo software presenta le seguenti differenze rispetto al Cron Linux standard:

1. Elenchi (,) e intervalli (-) non supportati ​

Il Cron standard consente di definire più punti temporali discreti tramite la virgola (ad esempio 1,15,30 * * * * indica i minuti 1, 15 e 30) o intervalli tramite il trattino (ad esempio 1-5 * * * * indica i minuti da 1 a 5).

Limite di questo software: ogni campo può contenere solo un numero singolo, un asterisco (*) o uno step (*/N); virgole e trattini non sono supportati.

2. Combinazioni libere non supportate ​

Il Cron standard consente la combinazione libera di campi arbitrari (ad esempio * 3 * * * indica ogni minuto nell'ora delle 3 di notte), ma questo software supporta solo i 7 modelli fissi elencati sopra; le espressioni al di fuori di questo intervallo verranno rifiutate.

3. Differenza di allineamento temporale nella modalità step ​

Nel Cron standard, */5 * * * * si allinea rigorosamente ai minuti 0, 5, 10, 15... dell'orologio. Questo software lo traduce nel parametro /SC MINUTE /MO 5 di Windows, la cui logica di elaborazione calcola l'intervallo a partire dal momento in cui l'attività viene creata o abilitata.

Ad esempio, se si salva e abilita un'attività che esegue ogni 5 minuti alle 10:02, la prima esecuzione avverrà alle 10:07, poi alle 10:12, invece di allinearsi alle 10:05 dell'orologio standard.