Ütemezések kezelése az Azure Automationben

Ha egy runbookot egy adott időpontra szeretne ütemezni az Azure Automationben, csatolja egy vagy több ütemezéshez. Az ütemezés konfigurálható úgy, hogy egyszeri vagy ismétlődő óránkénti vagy napi ütemezéssel fusson runbookok esetében az Azure Portalon. Ütemezheti őket heti, havi, a hét adott napjaira vagy a hónap napjaira, vagy a hónap egy adott napjára is. A runbookok több ütemezéshez is csatolhatók, és egy ütemezéshez több runbook is csatolható.

Megjegyzés:

Az Azure Automation támogatja a nyári időszámítást, és megfelelően ütemezi az automatizálási műveletekhez.

Megjegyzés:

Az ütemezések jelenleg nem engedélyezettek az Azure Automation DSC-konfigurációihoz.

Az ütemezések eléréséhez használt PowerShell-parancsmagok

Az alábbi táblázatban található parancsmagok Automation-ütemezéseket hoznak létre és kezelnek a PowerShell-lel. Az Az modulok részeként szállítanak.

Parancsmagok Leírás
Get-AzAutomationSchedule Lekéri az ütemezést.
Get-AzAutomationScheduledRunbook Lekéri az ütemezett runbookokat.
New-AzAutomationSchedule Új ütemezést hoz létre.
Register-AzAutomationScheduledRunbook Runbook hozzárendelése ütemezéshez.
Remove-AzAutomationSchedule Eltávolít egy ütemezést.
Set-AzAutomationSchedule Beállítja egy meglévő ütemezés tulajdonságait.
Regisztráció törlése az AzAutomationScheduledRunbookról A runbookok ütemezéstől való elkülönítése.

Ütemezés létrehozása

A runbookok új ütemezését az Azure Portalról, a PowerShell-lel vagy egy Azure Resource Manager-sablonnal hozhatja létre. Annak érdekében, hogy elkerülje a runbookok és az általuk automatizált folyamatok befolyásolását, először tesztelje azokat a runbookokat, amelyekhez társított ütemezések vannak egy tesztelésre dedikált Automation-fiókkal. A teszt ellenőrzi, hogy az ütemezett runbookok továbbra is megfelelően működnek-e. Ha problémát tapasztal, a frissített runbookverzió éles környezetbe való migrálása előtt elháríthatja és alkalmazhatja a szükséges módosításokat.

Megjegyzés:

Az Automation-fiók nem kapja meg automatikusan a modulok új verzióit, kivéve, ha manuálisan frissítette őket a Modulok azure-modulok frissítése lehetőség kiválasztásával. Az Azure Automation az Automation-fiók legújabb moduljait használja egy új ütemezett feladat futtatásakor.

Új ütemezés létrehozása az Azure Portalon

  1. Az Automation-fiókjában a bal oldali panelen válassza az Ütemezések lehetőséget a Megosztott erőforrások területen.

  2. Az Ütemezések lapon válassza az Ütemezés hozzáadása lehetőséget.

  3. Az Új ütemezés lapon adjon meg egy nevet, és opcionálisan adja meg az új ütemezés leírását.

    Megjegyzés:

    Az automatizálási ütemezések jelenleg nem támogatják a speciális karakterek használatát az ütemezés nevében.

  4. Válassza ki, hogy az ütemezés egyszer vagy ismétlődő ütemezésben fut-e az Egyszer vagy az Ismétlődő beállítással. Ha az Egyszer lehetőséget választja, adja meg a kezdési időpontot, majd válassza a Létrehozás lehetőséget. Ha az Ismétlődő lehetőséget választja, adja meg a kezdési időpontot. Minden ismétlődésnél válassza ki, hogy milyen gyakran szeretné megismételni a runbookot. Kijelölés óra, nap, hét vagy hónap szerint.

    • Ha a Hét lehetőséget választja, a hét napjai megjelennek, amelyek közül választhat. Jelöljön ki annyi napot, amennyit csak szeretne. Az ütemezés első futtatása a kezdési időpont után kiválasztott első napon történik. Ha például hétvégi ütemezést szeretne választani, válassza a szombatot és a vasárnapot.

    Setting weekend recurring schedule

    • Ha a Hónap lehetőséget választja, különböző lehetőségeket kap. A Havi előfordulások beállításnál válassza a Hónap vagya Hét nap lehetőséget. Ha a Hónap nap lehetőséget választja, megjelenik egy naptár, amellyel tetszőleges számú napot választhat. Ha olyan dátumot választ, mint például a 31. dátum, amely az aktuális hónapban nem fordul elő, az ütemezés nem fog futni. Ha azt szeretné, hogy az ütemezés az utolsó napon fusson, válassza az Igen lehetőséget a Hónap utolsó napján futtatás csoportban. Ha a Hét nap lehetőséget választja, megjelenik az Ismétlődés minden lehetőség. Válassza az Első, a Második, a Harmadik, a Negyedik vagy az Utolsó lehetőséget. Végül válasszon ki egy napot, amelyen ismételni szeretne.

    Monthly schedule on first, fifteenth, and last day of the month

  5. Ha végzett, válassza a Létrehozás lehetőséget.

Új ütemezés létrehozása a PowerShell-lel

Ütemezések létrehozásához használja a New-AzAutomationSchedule parancsmagot. Megadhatja az ütemezés kezdési idejét és a futtatás gyakoriságát. Az alábbi példák bemutatják, hogyan hozhat létre számos különböző ütemezési forgatókönyvet.

Megjegyzés:

Az automatizálási ütemezések jelenleg nem támogatják a speciális karakterek használatát az ütemezés nevében.

Egyszeri ütemezés létrehozása

Az alábbi példa egyszeri ütemezést hoz létre.

$TimeZone = ([System.TimeZoneInfo]::Local).Id
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule01" -StartTime "23:00" -OneTime -ResourceGroupName "ResourceGroup01" -TimeZone $TimeZone

Ismétlődő ütemezés létrehozása

Az alábbi példa bemutatja, hogyan hozhat létre ismétlődő ütemezést, amely minden nap 13:00-kor fut egy éven át.

$StartTime = Get-Date "13:00:00"
$EndTime = $StartTime.AddYears(1)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule02" -StartTime $StartTime -ExpiryTime $EndTime -DayInterval 1 -ResourceGroupName "ResourceGroup01"

Heti ismétlődő ütemezés létrehozása

Az alábbi példa bemutatja, hogyan hozhat létre heti ütemezést, amely csak hétköznapokon fut.

$StartTime = (Get-Date "13:00:00").AddDays(1)
[System.DayOfWeek[]]$WeekDays = @([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Schedule03" -StartTime $StartTime -WeekInterval 1 -DaysOfWeek $WeekDays -ResourceGroupName "ResourceGroup01"

Heti ismétlődő ütemezés létrehozása hétvégékre

Az alábbi példa bemutatja, hogyan hozhat létre heti ütemezést, amely csak hétvégén fut.

$StartTime = (Get-Date "18:00:00").AddDays(1)
[System.DayOfWeek[]]$WeekendDays = @([System.DayOfWeek]::Saturday,[System.DayOfWeek]::Sunday)
New-AzAutomationSchedule -AutomationAccountName "ContosoAutomation" -Name "Weekends 6PM" -StartTime $StartTime -WeekInterval 1 -DaysOfWeek $WeekendDays -ResourceGroupName "ResourceGroup01"

Ismétlődő ütemezés létrehozása a hónap első, tizenötödik és utolsó napjaihoz

Az alábbi példa bemutatja, hogyan hozhat létre ismétlődő ütemezést, amely egy hónap első, tizenötödik és utolsó napján fut.

$StartTime = (Get-Date "18:00:00").AddDays(1)
New-AzAutomationSchedule -AutomationAccountName "TestAzureAuto" -Name "1st, 15th and Last" -StartTime $StartTime -DaysOfMonth @("One", "Fifteenth", "Last") -ResourceGroupName "TestAzureAuto" -MonthInterval 1

Ütemezés létrehozása Resource Manager-sablonnal

Ebben a példában egy Automation Resource Manager(ARM) sablont használunk, amely új feladatütemezést hoz létre. Az Automation-feladatütemezések kezelésére szolgáló sablonnal kapcsolatos általános információkért lásd a Microsoft.Automation automationAccounts/jobSchedules sablonreferenciáit.

Másolja a sablonfájlt egy szövegszerkesztőbe:

{
  "name": "5d5f3a05-111d-4892-8dcc-9064fa591b96",
  "type": "Microsoft.Automation/automationAccounts/jobSchedules",
  "apiVersion": "2015-10-31",
  "properties": {
    "schedule": {
      "name": "scheduleName"
    },
    "runbook": {
      "name": "runbookName"
    },
    "runOn": "hybridWorkerGroup",
    "parameters": {}
  }
}

Szerkessze a következő paraméterértékeket, és mentse a sablont JSON-fájlként:

  • Feladatütemezési objektum neve: A feladatütemezési objektum neve egy GUID (globálisan egyedi azonosító) lesz.

    Fontos

    Az ARM-sablonnal üzembe helyezett feladatütemezésekhez a GUID-nak egyedinek kell lennie. Még akkor is módosítania kell a GUID azonosítót, ha átütemez egy meglévő ütemezést. Ez akkor is érvényes, ha korábban törölt egy meglévő feladatütemezést, amely ugyanazzal a sablonnal lett létrehozva. Ugyanannak a GUID-nak a újrafelhasználása sikertelen üzembe helyezést eredményez.

    Vannak online szolgáltatások, amelyek új GUID-t hozhatnak létre, például ezt az ingyenes online GUID Generatort.

  • Ütemezés neve: Annak az Automation-feladatütemezésnek a nevét jelöli, amely a megadott runbookhoz lesz csatolva.

  • Runbook neve: Annak az Automation-runbooknak a neve, amelyhez a feladatütemezést társítani kell.

A fájl mentése után a következő PowerShell-paranccsal hozhatja létre a runbook feladatütemezését. A parancs a TemplateFile paraméter használatával adja meg a sablon elérési útját és fájlnevét.

New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "<path>\RunbookJobSchedule.json"

A runbookok több ütemezéshez is csatolhatók, és egy ütemezéshez több runbook is csatolható. Ha egy runbook paraméterekkel rendelkezik, értékeket adhat meg nekik. Minden kötelező paraméterhez meg kell adnia értékeket, és bármilyen választható paraméterhez is megadhat értékeket. Ezeket az értékeket minden alkalommal használja a rendszer, amikor a runbookot ezzel az ütemezéssel indítja el. Ugyanazt a runbookot egy másik ütemezéshez csatolhatja, és különböző paraméterértékeket adhat meg.

  1. Az Azure Portal automatizálási fiókjában válassza a Runbookok lehetőséget a Folyamatautomatizálás területen.
  2. Válassza ki az ütemezni kívánt runbook nevét.
  3. Ha a runbook jelenleg nincs ütemezéshez csatolva, lehetősége van új ütemezés létrehozására vagy meglévő ütemezésre mutató hivatkozás létrehozására.
  4. Ha a runbook rendelkezik paraméterekkel, válassza a Futtatási beállítások módosítása (Alapértelmezett:Azure) lehetőséget, és megjelenik a Paraméterek panel. Itt adhatja meg a paraméteradatokat.

Az ütemezés összekapcsolásához használja a Register-AzAutomationScheduledRunbook parancsmagot . A runbook paramétereinek értékeit a Parameters paraméterrel adhatja meg. További információ a paraméterértékek megadásáról: Runbook indítása az Azure Automationben. Az alábbi példa bemutatja, hogyan csatolhat ütemezést runbookhoz egy Azure Resource Manager-parancsmag paraméterekkel való használatával.

$automationAccountName = "MyAutomationAccount"
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Register-AzAutomationScheduledRunbook -AutomationAccountName $automationAccountName `
-Name $runbookName -ScheduleName $scheduleName -Parameters $params `
-ResourceGroupName "ResourceGroup01"

Runbookok gyakoribb futtatásának ütemezése

Az Azure Automation ütemezésének konfigurálásához leggyakrabban egy óra szükséges. Ha ennél gyakrabban kell futtatnia az ütemezéseket, két lehetőség közül választhat:

  • Hozzon létre egy webhookot a runbookhoz, és az Azure Logic Apps használatával hívja meg a webhookot. Az Azure Logic Apps részletesebb részletességet biztosít az ütemezés meghatározásához.

  • Hozzon létre négy ütemezést, amelyek egymástól 15 percen belül kezdődnek, és óránként egyszer futnak. Ez a forgatókönyv lehetővé teszi, hogy a runbook 15 percenként fusson a különböző ütemezésekkel.

Ütemezés letiltása

Ha letilt egy ütemezést, a hozzá társított runbookok már nem ezen az ütemezésen futnak. Manuálisan letilthat egy ütemezést, vagy beállíthatja az ütemezések lejárati idejét a létrehozásukkor gyakorisággal. A lejárati idő elérésekor az ütemezés le lesz tiltva.

Ütemezés letiltása az Azure Portalról

  1. Az Automation-fiók bal oldali ablaktábláján válassza az Ütemezések lehetőséget a Megosztott erőforrások területen.
  2. Válassza ki az ütemezés nevét a részletek panel megnyitásához.
  3. Módosítsa az Engedélyezve a Nem lehetőséget.

Megjegyzés:

Ha olyan ütemezést szeretne letiltani, amelynek korábbi kezdési időpontja van, a mentés előtt módosítania kell a kezdési dátumot egy későbbi időpontra.

Ütemezés letiltása a PowerShell-lel

A Set-AzAutomationSchedule parancsmaggal módosíthatja egy meglévő ütemezés tulajdonságait. Az ütemezés letiltásához adja meg a IsEnabled paraméter False (Hamis) értékét.

Az alábbi példa bemutatja, hogyan tilthatja le egy runbook ütemezését egy Azure Resource Manager-parancsmag használatával.

$automationAccountName = "MyAutomationAccount"
$scheduleName = "Sample-MonthlyDaysOfMonthSchedule"
Set-AzAutomationSchedule -AutomationAccountName $automationAccountName `
-Name $scheduleName -IsEnabled $false -ResourceGroupName "ResourceGroup01"

Ütemezés eltávolítása

Ha készen áll az ütemezések eltávolítására, használhatja az Azure Portalt vagy a PowerShellt. Ne feledje, hogy csak az előző szakaszban leírtak szerint letiltott ütemezéseket távolíthatja el.

Ütemezés eltávolítása az Azure Portal használatával

  1. Az Automation-fiók bal oldali ablaktábláján válassza az Ütemezések lehetőséget a Megosztott erőforrások területen.
  2. Válassza ki az ütemezés nevét a részletek panel megnyitásához.
  3. Kattintson a Törlés gombra.

Ütemezés eltávolítása a PowerShell-lel

A parancsmagot az Remove-AzAutomationSchedule alább látható módon használhatja egy meglévő ütemezés törléséhez.

$automationAccountName = "MyAutomationAccount"
$scheduleName = "Sample-MonthlyDaysOfMonthSchedule"
Remove-AzAutomationSchedule -AutomationAccountName $automationAccountName `
-Name $scheduleName -ResourceGroupName "ResourceGroup01"

Következő lépések