Riferimento: espressioni Cron e Rate per Systems Manager
Quando crei un'associazione State Manager o una finestra di manutenzione in AWS Systems Manager, devi specificare una pianificazione per l'esecuzione della finestra o dell'associazione. Una pianificazione può essere specificata come elemento basato sul tempo, denominato espressione Cron, oppure come elemento basato sulla frequenza, denominato espressione Rate.
Informazioni generali sulle espressioni Cron e Rate
Le seguenti informazioni si applicano alle espressioni cron e rate sia per le finestre di manutenzione che per le associazioni.
- Pianificazioni a esecuzione singola
- 
                    Quando crei un'associazione o una finestra di manutenzione è possibile anche specificare un timestamp in formato UTC (Coordinated Universal Time) in modo che venga eseguita all'ora specificata. Ad esempio: "at(2020-07-07T15:55:00)"
- Offset di pianificazione
- 
                    Le associazioni e le finestre di manutenzione supportano anche gli offset di pianificazione solo per le espressioni cron. Un offset di pianificazione è il numero di giorni di attesa dopo la data e l'ora specificate da un'espressione CRON per l'avvio dell'esecuzione della finestra di manutenzione. Se crei una finestra di manutenzione o associazione con un'espressione Cron che ha come destinazione un giorno già passato nel periodo corrente, ma aggiungi una data di offset di pianificazione che ricade in futuro, la finestra di manutenzione o associazione non viene eseguita nel periodo. Verrà eseguita nel periodo successivo. Ad esempio, se specifichi un'espressione Cron che avrebbe eseguito una finestra di manutenzione ieri e aggiungi un offset di pianificazione di due giorni, la finestra di manutenzione non verrà eseguita domani. 
- Campi obbligatori
- 
                    Le espressioni Cron per la manutenzione hanno sei campi obbligatori. Le espressioni cron per le associazioni ne hanno cinque. (State Managerattualmente non supporta la specifica di mesi nelle espressioni cron per le associazioni.) Un campo aggiuntivo, Seconds, (il primo in un'espressione cron), è facoltativo. I campi sono separati da uno spazio.Esempi di espressioni Cron Minuti Ore Giorno del mese Mese Giorno della settimana Anno Significato 0 10 * * ? * Esegui ogni giorno alle 10:00 (UTC) 15 12 * * ? * Esegui ogni giorno alle 12.15 (UTC) 0 18 ? * LUN-VEN * Esegui dal lunedì al venerdì alle 18.00 (UTC) 0 8 1 * ? * Esegui ogni primo giorno del mese alle 8:00 (UTC) 
- Valori supportati
- 
                    La tabella seguente mostra i valori supportati per le voci Cron richieste. Valori supportati per le espressioni Cron Campo Valori Caratteri jolly Minuti 0-59, - * /Ore 0-23, - * /Day-of-month (Giorno del mese) 1-31, - * ? / L WMese (solo finestre di manutenzione) 1-12oJAN-DEC, - * /Day-of-week (Giorno della settimana) 1-7oSUN-SAT, - * ? / L #Anno 1970-2199, - * /NotaNon è possibile specificare un valore nei campi day-of-month (giorno del mese) e day-of-week (giorno della settimana) nella stessa espressione cron. Se specifichi un valore in uno dei campi, usa un carattere ? (punto interrogativo) nell'altro campo. 
- Caratteri jolly per le espressioni cron
- 
                    La tabella che segue mostra i valori jolly supportati dalle espressioni Cron. NotaLe espressioni Cron che indicano frequenze più rapide di cinque (5) minuti non sono supportate. Il supporto per specificare entrambi i valori per giorno della settimana e giorno del mese non è ancora completo. Devi utilizzare il punto interrogativo (?) in uno di questi campi. Caratteri jolly supportati per le espressioni Cron Carattere jolly Descrizione , Il carattere jolly ,, (virgola) include valori aggiuntivi. Nel campo Month (Mese), JAN,FEB,MAR (GEN,FEB,MAR) include gennaio, febbraio e marzo.- Il carattere jolly -(trattino) specifica gli intervalli. Nel campo Day (Giorno), 1-15 include i giorni dall'1 al 15 del mese specificato.* Il carattere jolly *(asterisco) include tutti i valori nel campo. Nel campo Hours (Ore), * include ogni ora./ Il carattere jolly /(barra) specifica gli incrementi. Nel campo Minutes (Minuti), è possibile immettere 1/10 per specificare ogni decimo minuto, a partire dal primo minuto dell'ora. Il valore 1/10 specifica quindi il primo, l'undicesimo, il ventunesimo, il trentunesimo minuto e così via.? Il carattere jolly ?(punto interrogativo) specifica uno dei valori. Nel campo Day-of-month (Giorno del mese) è possibile immettere 7 e, se è indifferente quale sia il settimo giorno della settimana, è possibile immettere ?L Il carattere jolly Lnel campo day-of-month (giorno del mese) o day-of-week (giorno della settimana) specifica l'ultimo giorno del mese o della settimana.W Il carattere jolly Wnel campo Day-of-month (Giorno del mese) specifica un giorno feriale. Nel campo Day-of-month (Giorno del mese), 3W specifica il giorno più vicino al terzo giorno feriale del mese.# Il carattere jolly #nel campo giorno-della-settimana seguito da un numero compreso tra uno e cinque specifica un dato giorno del mese. 5#3 specifica il terzo venerdì del mese.
- Espressioni rate
- 
                    Le espressioni Rate hanno i due seguenti campi obbligatori. I campi sono separati da spazi. Campi obbligatori per le espressioni Rate Campo Valori Valore numero positivo, ad esempio 1o15Unità minuteminuteshourhoursdaydaysSe il valore è uguale a 1, l'unità deve essere singolare. Analogamente, per valori maggiori di1, l'unità deve essere plurale. Ad esempio,rate(1 hours)erate(5 hour)non sono validi, mentre lo sonorate(1 hour)erate(5 hours).
Argomenti
Espressioni Cron e Rate per le associazioni
Questa sezione include esempi di espressioni Cron e Rate per le associazioni State Manager. Prima di creare una di tali espressioni, devi conoscere le seguenti informazioni:
- 
                Le associazioni supportano le seguenti espressioni Cron: ogni 1/2, 1, 2, 4, 8 o 12 ore; ogni giorno, ogni settimana o ogni giorno e ora specificati della settimana; un giorno specifico in una settimana specifica del mese o l'ultimo giorno xdel mese a un'ora specifica.
- 
                Le associazioni supportano le seguenti espressioni Rate: intervalli di 30 minuti o maggiori e meno di 31 giorni. 
- 
                Se specifichi il campo Secondsfacoltativo, il relativo valore può essere 0 (zero). Ad esempio:cron(0 */30 * * * ? *)
- 
                Per un'associazione che raccoglie i metadati per l'inventario AWS Systems Manager, ti consigliamo di utilizzare un'espressione tariffaria. 
- 
                State Manager attualmente non supporta la specifica di mesi nelle espressioni cron per le associazioni. 
Le associazioni supportano espressioni cron che includono un giorno della settimana e il segno numerico (#) per designare il n giorno di un mese per gestire un'associazione. Ecco un esempio che esegue un programma cron il terzo martedì di ogni mese alle 23:30 UTC:
cron(30 23 ? * TUE#3 *)
Ecco un esempio che viene eseguito il secondo giovedì di ogni mese a mezzanotte UTC:
cron(0 0 ? * THU#2 *)
Le associazioni supportano anche il segno (L) per indicare l'ultimo X giorno del mese. Ecco un esempio che esegue un programma cron l'ultimo martedì di ogni mese a mezzanotte UTC:
cron(0 0 ? * 3L *)
Per controllare ulteriormente l'esecuzione di un'associazione, ad esempio se si desidera eseguire un'associazione due giorni dopo la patch di martedì, è possibile specificare un offset. Un record offset definisce quanti giorni attendere dopo il giorno programmato per eseguire un'associazione. Ad esempio, se hai specificato un programma cron di cron(0 0 ? *
                THU#2 *), è possibile specificare il numero 3 nel campo Offset di pianificazione per eseguire l'associazione ogni domenica dopo il secondo giovedì del mese.
Per utilizzare gli offset, è necessario scegliere l'associazione Applica solo all'opzione successiva specificata Intervallo Cronopzione nella console o è necessario specificare l'uso del parametro --apply-only-at-cron-interval dalla riga di comando. Questa opzione dice a State Manager di non eseguire un'associazione immediatamente dopo la creazione.
La tabella seguente presenta esempi di espressioni cron per le associazioni.
| Esempio | Dettagli | 
|---|---|
| cron(0/30 * * * ? *) | Ogni 30 minuti | 
| cron(0 0/1 * * ? *) | Ogni ora | 
| cron(0 0/2 * * ? *) | Ogni 2 ore | 
| cron(0 0/4 * * ? *) | Ogni 4 ore | 
| cron(0 0/8 * * ? *) | Ogni 8 ore | 
| cron(0 0/12 * * ? *) | Ogni 12 ore | 
| cron(15 13 ? * * *) | Ogni giorno alle 13.15 | 
| cron(15 13 ? * MON *) | Ogni lunedì alle 13.15 | 
| cron(30 23 ? * TUE#3 *) | Il terzo martedì di ogni mese alle 23:30 | 
Di seguito sono elencati alcuni esempi di espressioni Rate per le associazioni.
| Esempio | Dettagli | 
|---|---|
| rate(30 minutes) | Ogni 30 minuti | 
| rate(1 hour) | Ogni ora | 
| rate(5 hours) | Ogni 5 ore | 
| rate(15 days) | Ogni 15 giorni | 
Esempi AWS CLI di espressioni per le associazioni
Per creare associazioni State Manager utilizzando AWS CLI, includi il parametro --schedule-expression con un'espressione Cron o Rate. Gli esempi seguenti usano AWS CLI su una macchina Linux locale.
Nota
Per impostazione predefinita, quando si crea una nuova associazione, il sistema viene eseguito immediatamente dopo la creazione e quindi in base alla pianificazione specificata. Specifica --apply-only-at-cron-interval in modo che l'associazione non venga eseguita immediatamente dopo la creazione. Questo parametro non è supportato per le espressioni Rate.
aws ssm create-association \ --association-name "My-Cron-Association" \ --schedule-expression "cron(0 2 ? * SUN *)" \ --targets Key=tag:ServerRole,Values=WebServer \ --name AWS-UpdateSSMAgent
aws ssm create-association \ --association-name "My-Rate-Association" \ --schedule-expression "rate(7 days)" \ --targets Key=tag:ServerRole,Values=WebServer \ --name AWS-UpdateSSMAgent
aws ssm create-association \ --association-name "My-Rate-Association" \ --schedule-expression "at(2020-07-07T15:55:00)" \ --targets Key=tag:ServerRole,Values=WebServer \ --name AWS-UpdateSSMAgent \ --apply-only-at-cron-interval
Espressioni Cron e Rate per le finestre di manutenzione
Questa sezione include esempi di espressioni Cron e Rate per le finestre di manutenzione.
A differenza delle associazioni State Manager, le finestre di manutenzione supportano tutte le espressioni Cron e Rate. Ciò include il supporto per i valori nel campo dei secondi.
Ad esempio, la seguente espressione Cron composta da 6 campi esegue una finestra di manutenzione ogni giorno alle 9:30.
cron(30 09 ? * * *)
Aggiungendo un valore al campo Seconds, la seguente espressione Cron composta da 7 campi esegue una finestra di manutenzione ogni giorno alle 9:30:24.
cron(24 30 09 ? * * *)
La tabella seguente fornisce ulteriori esempi di espressioni Cron composte da 6 campi per le finestre di manutenzione.
| Esempio | Dettagli | 
|---|---|
| cron(0 2 ? * THU#3 *) | Il terzo giovedì di ogni mese alle 02.00 | 
| cron(15 10 ? * * *) | Ogni giorno alle 10.15 | 
| cron(15 10 ? * MON-FRI *) | Ogni lunedì, martedì, mercoledì, giovedì e venerdì alle 10.15 | 
| cron(0 2 L * ? *) | L'ultimo giorno di ogni mese alle 02.00 | 
| cron(15 10 ? * 6L *) | L'ultimo venerdì di ogni mese alle 10.15 | 
La tabella seguente fornisce esempi di espressioni Rate per le finestre di manutenzione.
| Esempio | Dettagli | 
|---|---|
| rate(30 minutes) | Ogni 30 minuti | 
| rate(1 hour) | Ogni ora | 
| rate(5 hours) | Ogni 5 ore | 
| rate(25 days) | Ogni 25 giorni | 
Esempi AWS CLI di espressioni per le finestre di manutenzione
Per creare delle finestre di manutenzione utilizzando la AWS CLI, includi il parametro --schedule con un'espressione Cron o Rate oppure un timestamp. Gli esempi seguenti usano AWS CLI su una macchina Linux locale. 
aws ssm create-maintenance-window \ --name "My-Cron-Maintenance-Window" \ --allow-unassociated-targets \ --schedule "cron(0 16 ? * TUE *)" \ --schedule-timezone "America/Los_Angeles" \ --start-date 2021-01-01T00:00:00-08:00 \ --end-date 2021-06-30T00:00:00-08:00 \ --duration 4 \ --cutoff 1
aws ssm create-maintenance-window \ --name "My-Rate-Maintenance-Window" \ --allow-unassociated-targets \ --schedule "rate(7 days)" \ --duration 4 \ --schedule-timezone "America/Los_Angeles" \ --cutoff 1
aws ssm create-maintenance-window \ --name "My-TimeStamp-Maintenance-Window" \ --allow-unassociated-targets \ --schedule "at(2021-07-07T13:15:30)" \ --duration 4 \ --schedule-timezone "America/Los_Angeles" \ --cutoff 1
- Ulteriori informazioni
- 
                Espressione CRON sul sito di Wikipedia