Správa plánů ve službě Azure Automation

Pokud chcete naplánovat spuštění runbooku ve službě Azure Automation v zadaném čase, propojit ho s jedním nebo více plány. Plán je možné nakonfigurovat tak, aby běžel jednou nebo opakovaně po hodinách nebo denním plánu runbooků na webu Azure Portal. Můžete je také naplánovat pro týdenní, měsíční, konkrétní dny v týdnu nebo dny v měsíci nebo konkrétní den v měsíci. Runbook může být propojený s několika plány a plán může obsahovat více runbooků propojených s ním.

Poznámka:

Azure Automation podporuje letní čas a naplánuje ji odpovídajícím způsobem pro automatizaci operací.

Poznámka:

Plány aktuálně nejsou povolené pro konfigurace Azure Automation DSC.

Rutiny PowerShellu používané pro přístup k plánům

Rutiny v následující tabulce vytvářejí a spravují plány služby Automation pomocí PowerShellu. Dodávají se jako součást modulů Az.

Rutiny Popis
Get-AzAutomationSchedule Načte plán.
Get-AzAutomationScheduledRunbook Načte naplánované runbooky.
New-AzAutomationSchedule Vytvoří nový plán.
Register-AzAutomationScheduledRunbook Přidruží runbook k plánu.
Remove-AzAutomationSchedule Odebere plán.
Set-AzAutomationSchedule Nastaví vlastnosti existujícího plánu.
Unregister-AzAutomationScheduledRunbook Přidružuje runbook od plánu.

Vytvoření plánu

Nový plán runbooků můžete vytvořit na webu Azure Portal, pomocí PowerShellu nebo pomocí šablony Azure Resource Manageru (ARM). Abyste se vyhnuli ovlivnění runbooků a procesů, které automatizují, měli byste nejprve otestovat všechny runbooky, které mají propojené plány s účtem Automation vyhrazeným pro testování. Test ověří, že naplánované runbooky budou dál fungovat správně. Pokud se zobrazí problém, můžete vyřešit potíže a použít všechny požadované změny před migrací aktualizované verze runbooku do produkčního prostředí.

Poznámka:

Váš účet Automation nebude automaticky získávat žádné nové verze modulů, pokud je neaktualizujete ručně výběrem možnosti Aktualizovat moduly Azure z modulů. Azure Automation používá nejnovější moduly ve vašem účtu Automation při spuštění nové naplánované úlohy.

Vytvoření nového plánu na webu Azure Portal

  1. V levém podokně vašeho účtu Automation vyberte v části Sdílené prostředky plány.

  2. Na stránce Plány vyberte Přidat plán.

  3. Na stránce Nový plán zadejte název a volitelně zadejte popis nového plánu.

    Poznámka:

    Plány automatizace v současné době nepodporují použití speciálních znaků v názvu plánu.

  4. Výběrem možnosti Jednou nebo Opakovat vyberte, zda se plán spouští jednou nebo opakovaně. Pokud vyberete Možnost Jednou, zadejte čas zahájení a pak vyberte Vytvořit. Pokud vyberete Možnost Opakovat, zadejte počáteční čas. V případě opakování vyberte, jak často se má runbook opakovat. Vyberte podle hodiny, dne, týdne nebo měsíce.

    • Pokud vyberete Možnost Týden, zobrazí se vám dny v týdnu, ze které si můžete vybrat. Vyberte libovolný počet dní. První spuštění plánu proběhne první den vybraný po počátečním čase. Pokud chcete například zvolit plán o víkendu, vyberte sobotu a neděli.

    Setting weekend recurring schedule

    • Pokud vyberete Možnost Měsíc, máte jiné možnosti. U možnosti Měsíční výskyty vyberte dny měsíce nebo dny v týdnu. Pokud vyberete dny měsíce, zobrazí se kalendář, abyste si mohli vybrat tolik dní, kolik chcete. Pokud zvolíte datum, například 31. den, ke kterému nedojde v aktuálním měsíci, plán se nespustí. Pokud chcete, aby plán běžel poslední den, vyberte v části Spustit v posledním dni v měsíci možnost Ano. Pokud vyberete týdenní dny, zobrazí se možnost Opakovat vždy . Zvolte První, Druhý, Třetí, Čtvrtý nebo Poslední. Nakonec zvolte den, na který se má opakovat.

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

  5. Jakmile budete hotovi, zvolte Vytvořit.

Vytvoření nového plánu pomocí PowerShellu

K vytvoření plánů použijte rutinu New-AzAutomationSchedule . Určíte čas zahájení plánu a frekvenci, kterou má spustit. Následující příklady ukazují, jak vytvořit mnoho různých scénářů plánu.

Poznámka:

Plány automatizace v současné době nepodporují použití speciálních znaků v názvu plánu.

Vytvoření jednorázového plánu

Následující příklad vytvoří jednorázový plán.

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

Vytvoření plánu opakování

Následující příklad ukazuje, jak vytvořit plán opakování, který se spouští každý den v 13:00 za rok.

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

Vytvoření týdenního opakovaného plánu

Následující příklad ukazuje, jak vytvořit týdenní plán, který se spouští pouze v pracovní dny.

$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"

Vytvoření týdenního opakovaného plánu pro víkendy

Následující příklad ukazuje, jak vytvořit týdenní plán, který běží pouze o víkendech.

$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"

Vytvoření plánu opakování pro první, patnácté a poslední dny v měsíci

Následující příklad ukazuje, jak vytvořit opakovaný plán, který se spustí na prvním, patnácté a posledním dni v měsíci.

$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

Vytvoření plánu pomocí šablony Resource Manageru

V tomto příkladu používáme šablonu Resource Manageru (ARM), která vytvoří nový plán úloh. Obecné informace o této šabloně pro správu plánů úloh Automation naleznete v tématu Microsoft.Automation AutomationAccounts/jobSchedules šablony reference.

Zkopírujte tento soubor šablony do textového editoru:

{
  "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": {}
  }
}

Upravte následující hodnoty parametrů a šablonu uložte jako soubor JSON:

  • Název objektu plánu úlohy: Identifikátor GUID (globálně jedinečný identifikátor) se používá jako název objektu plánu úlohy.

    Důležité

    Pro každý plán úloh nasazený pomocí šablony ARM musí být identifikátor GUID jedinečný. I když plánujete existující plán, budete muset změnit identifikátor GUID. To platí i v případě, že jste dříve odstranili existující plán úlohy, který byl vytvořen se stejnou šablonou. Opětovné spuštění stejného identifikátoru GUID způsobí neúspěšné nasazení.

    Existují online služby, které vám můžou vygenerovat nový identifikátor GUID, například tento bezplatný online generátor GUID.

  • Název plánu: Představuje název plánu úlohy Automation, který bude propojený se zadaným runbookem.

  • Název runbooku: Představuje název runbooku Automation, ke které se má plán úlohy přidružit.

Po uložení souboru můžete pomocí následujícího příkazu PowerShellu vytvořit plán úlohy runbooku. Příkaz použije TemplateFile parametr k určení cesty a názvu souboru šablony.

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

Runbook může být propojený s několika plány a plán může obsahovat více runbooků propojených s ním. Pokud má runbook parametry, můžete pro ně zadat hodnoty. Je nutné zadat hodnoty pro všechny povinné parametry a můžete také zadat hodnoty pro všechny volitelné parametry. Tyto hodnoty se použijí při každém spuštění runbooku podle tohoto plánu. Stejný runbook můžete připojit k jinému plánu a zadat jiné hodnoty parametrů.

  1. Na webu Azure Portal z vašeho účtu Automation vyberte runbooky v části Automatizace procesů.
  2. Vyberte název runbooku, který chcete naplánovat.
  3. Pokud runbook není aktuálně propojený s plánem, můžete vytvořit nový plán nebo vytvořit propojení s existujícím plánem.
  4. Pokud má runbook parametry, můžete vybrat možnost Upravit nastavení spuštění (Default:Azure) a zobrazí se podokno Parametry . Tady můžete zadat informace o parametrech.

K propojení plánu použijte rutinu Register-AzAutomationScheduledRunbook . Pomocí parametru Parameters můžete zadat hodnoty parametrů runbooku. Další informace o tom, jak zadat hodnoty parametrů, najdete v tématu Spuštění runbooku ve službě Azure Automation. Následující příklad ukazuje, jak propojit plán s runbookem pomocí rutiny Azure Resource Manageru s parametry.

$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"

Naplánování runbooků pro častější spouštění

Nejčastější interval, pro který je možné nakonfigurovat plán ve službě Azure Automation, je jedna hodina. Pokud potřebujete, aby se plány spouštěly častěji, existují dvě možnosti:

  • Vytvořte webhook pro runbook a pomocí Azure Logic Apps volejte webhook. Azure Logic Apps poskytuje jemněji odstupňovanou členitost pro definování plánu.

  • Vytvořte čtyři plány, které se spustí do 15 minut od sebe a spustí se jednou za hodinu. Tento scénář umožňuje runbooku spouštět každých 15 minut s různými plány.

Zakázání plánu

Když plán zakážete, všechny runbooky propojené s ním se už nespustí podle daného plánu. Plán můžete ručně zakázat nebo nastavit čas vypršení platnosti plánů s frekvencí při jejich vytváření. Po dosažení doby vypršení platnosti je plán zakázaný.

Zakázání plánu na webu Azure Portal

  1. V levém podokně účtu Automation vyberte v části Sdílené prostředky plány.
  2. Výběrem názvu plánu otevřete podokno podrobností.
  3. Změnit povoleno na Ne.

Poznámka:

Pokud chcete zakázat plán, který má čas zahájení v minulosti, musíte před uložením změnit datum zahájení na čas v budoucnu.

Zakázání plánu pomocí PowerShellu

Pomocí rutiny Set-AzAutomationSchedule můžete změnit vlastnosti existujícího plánu. Pokud chcete plán zakázat, zadejte hodnotu False parametru IsEnabled .

Následující příklad ukazuje, jak zakázat plán runbooku pomocí rutiny Azure Resource Manageru.

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

Odebrání plánu

Až budete připraveni odebrat plány, můžete použít web Azure Portal nebo PowerShell. Mějte na paměti, že plán, který byl zakázán, můžete odebrat pouze podle popisu v předchozí části.

Odebrání plánu pomocí webu Azure Portal

  1. V levém podokně účtu Automation vyberte v části Sdílené prostředky plány.
  2. Výběrem názvu plánu otevřete podokno podrobností.
  3. Klepněte na tlačítko Odstranit.

Odebrání plánu pomocí PowerShellu

K odstranění existujícího plánu můžete použít rutinu Remove-AzAutomationSchedule , jak je znázorněno níže.

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

Další kroky