Mengelola Jadwal di Azure Automation

Untuk menjadwalkan runbook di Azure Automation untuk memulai pada waktu yang telah ditentukan, Anda menautkannya ke satu atau beberapa jadwal. Jadwal dapat dikonfigurasi untuk berjalan sekali atau pada jadwal per jam atau harian berulang untuk runbook di portal Microsoft Azure. Anda juga dapat menjadwalkannya untuk mingguan, bulanan, hari-hari spesifik dalam seminggu atau hari dalam sebulan, atau hari tertentu dalam sebulan. Runbook dapat ditautkan ke beberapa jadwal, dan jadwal dapat memiliki beberapa runbook yang ditautkan ke dalamnya.

Catatan

Azure Automation mendukung Daylight Savings Time dan menjadwalkannya dengan tepat untuk operasi otomatisasi.

Catatan

Jadwal saat ini tidak diaktifkan untuk konfigurasi Azure Automation DSC.

Cmdlet PowerShell digunakan untuk mengakses jadwal

Cmdlet dalam tabel berikut membuat dan mengelola jadwal Automation dengan PowerShell. cmdlet ini melakukan pengiriman sebagai bagian dari modul Az.

Cmdlet Deskripsi
Get-AzAutomationSchedule Mengambil jadwal.
Get-AzAutomationScheduledRunbook Mengambil runbook terjadwal.
New-AzAutomationSchedule Membuat jadwal baru.
Register-AzAutomationScheduledRunbook Mengaitkan runbook dengan jadwal.
Remove-AzAutomationSchedule Menghapus jadwal.
Set-AzAutomationSchedule Mengatur properti untuk jadwal yang sudah ada.
Unregister-AzAutomationScheduledRunbook Memisahkan runbook dari jadwal.

Membuat jadwal

Anda dapat membuat jadwal baru untuk runbook Anda dari portal Microsoft Azure, dengan PowerShell, atau menggunakan templat Azure Resource Manager (ARM). Untuk menghindari pengaruhnya terhadap runbook Anda dan proses yang diotomatisasi, Anda harus terlebih dahulu menguji setiap runbook yang telah menautkan jadwal dengan akun Automation yang dikhususkan untuk pengujian. Pengujian memvalidasi bahwa runbook terjadwal Anda selalu berfungsi dengan benar. Jika melihat masalah, Anda dapat memecahkan masalah dan menerapkan perubahan apa pun yang diperlukan sebelum memigrasikan versi runbook yang diperbarui ke produksi.

Catatan

Akun Automation Anda tidak secara otomatis mendapatkan versi modul baru, kecuali Anda telah memperbaruinya secara manual dengan memilih opsi Perbarui modul Azure dari Modul. Azure Automation menggunakan modul terbaru di akun Automation Anda saat tugas terjadwal baru dijalankan.

Membuat jadwal baru di portal Microsoft Azure

  1. Dari akun Automation Anda, di panel sebelah kiri, pilih Jadwal pada Sumber Daya Bersama.

  2. Pada Jadwal, pilih Tambahkan jadwal.

  3. Pada halaman Jadwal baru, masukkan nama dan secara opsional masukkan deskripsi untuk jadwal baru.

    Catatan

    Jadwal otomatisasi saat ini tidak mendukung penggunaan karakter khusus dalam nama jadwal.

  4. Pilih apakah jadwal berjalan sekali ataukah jadwal yang terjadi berulang dengan memilih Sekali atau Berulang. Jika Anda memilih Sekali, tentukan waktu mulai lalu pilih Buat. Jika Anda memilih Berulang, tentukan waktu mulai. Untuk Berulang setiap, pilih seberapa sering Anda ingin runbook tersebut diulang. Pilih berdasarkan jam, hari, minggu, atau bulan.

    • Jika Anda memilih Minggu, hari dalam seminggu akan disajikan untuk Anda pilih. Pilih hari sebanyak yang Anda inginkan. Eksekusi jadwal Anda pertama kali akan terjadi pada hari pertama yang dipilih setelah waktu mulai. Misalnya, untuk memilih jadwal akhir pekan, pilih Sabtu dan Minggu.

    Setting weekend recurring schedule

    • Jika Anda memilih Bulan, Anda diberi opsi yang berbeda. Untuk opsi Terjadi bulanan, pilih Hari dalam sebulan atau Hari dalam seminggu. Jika Anda memilih Hari dalam sebulan, kalender muncul sehingga Anda bisa memilih hari sebanyak yang Anda inginkan. Jika Anda memilih tanggal seperti tanggal 31 yang tidak terjadi pada bulan ini, maka jadwal tidak akan berjalan. Jika Anda menginginkan jadwal berjalan pada hari terakhir, pilih Ya pada Jalankan pada hari terakhir dalam bulan tersebut. Jika Anda memilih Hari dalam seminggu, opsi Ulangi setiap akan muncul. Pilih Pertama, Kedua, Ketiga, Keempat, atau Terakhir. Akhirnya, pilih hari untuk diulang.

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

  5. Setelah Anda selesai, pilih Buat.

Membuat jadwal baru dengan PowerShell

Gunakan cmdlet New-AzAutomationSchedule untuk membuat jadwal. Anda menentukan waktu mulai untuk jadwal dan frekuensi yang akan dijalankannya. Contoh berikut menunjukkan cara membuat banyak skenario jadwal yang berbeda.

Catatan

Jadwal Automation saat ini tidak mendukung penggunaan karakter khusus dalam nama jadwal.

Membuat jadwal satu kali

Contoh berikut membuat jadwal satu kali.

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

Buat jadwal berulang

Contoh berikut menunjukkan cara membuat jadwal berulang yang berjalan setiap hari pada pukul 13.00 selama setahun.

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

Membuat jadwal berulang mingguan

Contoh berikut menunjukkan cara membuat jadwal mingguan yang berjalan hanya pada hari kerja.

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

Membuat jadwal berulang mingguan untuk akhir pekan

Contoh berikut menunjukkan cara membuat jadwal mingguan yang berjalan hanya pada akhir pekan.

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

Membuat jadwal berulang untuk hari pertama, kelima belas, dan terakhir dalam sebulan

Contoh berikut menunjukkan cara membuat jadwal berulang yang berjalan pada hari pertama, kelima belas, dan terakhir dalam sebulan.

$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

Membuat jadwal dengan templat Resource Manager

Dalam contoh ini, kami menggunakan templat Automation Resource Manager (ARM) yang membuat jadwal kerja baru. Untuk informasi umum tentang templat ini untuk mengelola jadwal pekerjaan Automation, lihat referensi templat Microsoft.Automation automationAccounts/jobSchedules.

Salin file templat ini ke editor teks:

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

Edit nilai parameter berikut dan simpan templat sebagai file JSON:

  • Nama objek jadwal pekerjaan: GUID (Globally Unique Identifier) digunakan sebagai nama objek jadwal kerja.

    Penting

    Untuk setiap jadwal pekerjaan yang diterapkan dengan templat ARM, GUID harus unik. Meskipun Anda menjadwalkan ulang jadwal yang ada, Anda harus mengubah GUID. Ini berlaku meskipun Anda sebelumnya telah menghapus jadwal pekerjaan yang sudah ada yang dibuat dengan templat yang sama. Menggunakan kembali hasil GUID yang sama dalam penyebaran yang gagal.

    Ada layanan online yang dapat menghasilkan GUID baru untuk Anda, seperti Generator GUID Online Gratis ini.

  • Nama jadwal: Mewakili nama jadwal pekerjaan Automation yang akan ditautkan ke runbook yang telah ditentukan.

  • Nama runbook: Mewakili nama runbook Automation jadwal pekerjaan yang akan dikaitkan.

Setelah file disimpan, Anda dapat membuat jadwal pekerjaan runbook dengan perintah PowerShell berikut. Perintah ini menggunakan parameter TemplateFile untuk menentukan jalur dan nama file templat.

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

Runbook dapat ditautkan ke beberapa jadwal, dan jadwal dapat memiliki beberapa runbook yang ditautkan ke dalamnya. Jika runbook memiliki parameter, Anda dapat memberikan nilai untuknya. Anda harus menyediakan nilai untuk parameter wajib apa pun, dan Anda juga dapat menyediakan nilai untuk parameter opsional apa pun. Nilai-nilai ini digunakan setiap kali runbook dimulai oleh jadwal ini. Anda dapat melampirkan runbook yang sama ke jadwal lain dan menentukan nilai parameter yang berbeda.

  1. Di portal Microsoft Azure, dari akun Automation Anda, pilih Runbook di bawah Automation Proses.
  2. Pilih nama runbook yang akan dijadwalkan.
  3. Jika runbook saat ini tidak ditautkan ke jadwal, Anda ditawari opsi untuk membuat jadwal atau tautan baru ke jadwal yang ada.
  4. Jika runbook memiliki parameter, Anda dapat memilih opsi Ubah pengaturan jalankan (Default:Azure) dan panel Parameter muncul. Anda dapat memasukkan informasi parameter di sini.

Gunakan cmdlet Register-AzAutomationScheduledRunbook untuk menautkan jadwal. Anda dapat menentukan nilai untuk parameter runbook dengan parameter Parameters. Untuk informasi selengkapnya tentang cara menentukan nilai parameter, lihat Memulai Runbook di Azure Automation. Contoh berikut menunjukkan cara menautkan jadwal ke runbook dengan menggunakan cmdlet Azure Resource Manager dengan parameter.

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

Jadwalkan runbook untuk berjalan lebih sering

Interval yang paling sering untuk konfigurasi jadwal di Azure Automation adalah satu jam. Jika Anda memerlukan jadwal untuk berjalan lebih sering, ada dua opsi:

  • Buat webhook untuk runbook, dan gunakan Azure Logic Apps untuk memanggil webhook. Aplikasi Logika Azure menyediakan granularitas yang lebih halus untuk menentukan jadwal.

  • Buat empat jadwal yang semuanya dimulai dalam 15 menit satu sama lain dan jalankan sekali setiap jam. Skenario ini memungkinkan runbook untuk berjalan setiap 15 menit dengan jadwal yang berbeda.

Menonaktifkan jadwal

Saat Anda menonaktifkan jadwal, runbook apa pun yang ditautkan ke jadwal tersebut itu tidak lagi berjalan pada jadwal tersebut. Anda dapat menonaktifkan jadwal secara manual atau mengatur waktu kedaluwarsa untuk jadwal dengan frekuensi saat Anda membuatnya. Ketika waktu kedaluwarsa tercapai, jadwal akan dinonaktifkan.

Menonaktifkan jadwal dari portal Microsoft Azure

  1. Di akun Automation Anda, di panel sebelah kiri, pilih Jadwal pada Sumber Daya Bersama.
  2. Pilih nama jadwal untuk membuka panel detail.
  3. Ubah Diaktifkan ke Tidak.

Catatan

Jika Anda ingin menonaktifkan jadwal yang memiliki waktu mulai di masa lalu, Anda harus mengubah tanggal mulai menjadi waktu di masa mendatang sebelum menyimpannya.

Menonaktifkan jadwal dengan PowerShell

Gunakan cmdlet Set-AzAutomationSchedule untuk mengubah properti dari jadwal yang ada. Untuk menonaktifkan jadwal, tentukan False untuk parameter IsEnabled.

Contoh berikut menunjukkan cara menonaktifkan jadwal untuk menjalankan buku dengan menggunakan cmdlet Azure Resource Manager.

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

Menghapus jadwal

Setelah Anda siap menghapus jadwal, Anda dapat menggunakan portal Microsoft Azure atau PowerShell. Ingat bahwa Anda hanya bisa menghapus jadwal yang telah dinonaktifkan seperti yang dijelaskan di bagian sebelumnya.

Menghapus jadwal menggunakan portal Microsoft Azure

  1. Di akun Automation Anda, di panel sebelah kiri, pilih Jadwal pada Sumber Daya Bersama.
  2. Pilih nama jadwal untuk membuka panel detail.
  3. Klik Hapus.

Menghapus jadwal dengan PowerShell

Anda dapat menggunakan cmdlet Remove-AzAutomationSchedule seperti yang ditunjukkan di bawah ini untuk menghapus jadwal yang ada.

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

Langkah berikutnya