Skip to content

Penjadwal Tugas ​

Task Scheduler (Penjadwal Tugas) digunakan untuk mengotomatiskan tugas berkala di WSL, menghindari operasi pemeliharaan manual yang berulang. Ia menyediakan antarmuka manajemen visual, sehingga Anda dapat membuat dan mengelola tugas terjadwal tanpa perlu mengingat parameter baris perintah yang rumit.

Contoh skenario fitur ini:

  • Mencadangkan distribusi di WSL secara berkala
  • Menjalankan skrip atau perintah khusus

Semua tugas dikumpulkan di bawah jalur \WSLDashboard\UserTasks\ pada Windows Task Scheduler, memudahkan peninjauan dan pengelolaan terpusat. Anda dapat melihat status tugas secara real-time di antarmuka (Siap / Berjalan / Dinonaktifkan).

Repositori Skrip Komunitas ​

Anda dapat mengunduh contoh skrip (pencadangan distribusi) dari repositori komunitas berikut untuk memulai dengan cepat:

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

Ini adalah repositori kode yang dibangun bersama oleh pengguna, Anda dipersilakan mengirimkan Pull Request untuk berkontribusi skrip atau berbagi praktik terbaik.

Menjalankan Perintah ​

Konfigurasi Perintah ​

Setiap tugas terjadwal dapat mengonfigurasi perintah yang akan dijalankan (skrip atau program yang dapat dieksekusi), mendukung opsi berikut:

Item KonfigurasiDeskripsi
Perintah yang DijalankanJalur skrip atau program yang dapat dieksekusi yang akan dijalankan, mendukung format .bat, .ps1, .cmd, .exe, .py, dll. Anda dapat memilih file melalui tombol "Browse".
Parameter PerintahParameter tambahan yang diteruskan ke perintah, opsional.
Hak AdministratorJika dicentang, tugas akan berjalan dengan hak tertinggi, cocok untuk operasi yang memerlukan peningkatan UAC.

Operasi Tugas ​

Setelah membuat tugas, Anda dapat melakukan operasi berikut pada tugas:

OperasiDeskripsi
Jalankan SekarangMemaksa tugas dieksekusi segera, tidak dibatasi oleh aturan penjadwalan.
Aktifkan/NonaktifkanMenjeda atau melanjutkan penjadwalan otomatis tugas.
HapusMenghapus tugas dari Penjadwal Tugas.

Aturan Penjadwalan ​

Ekspresi Cron ​

Penjadwalan tugas menggunakan ekspresi Cron 5 bidang standar untuk mendefinisikan aturan eksekusi, formatnya sebagai berikut:

menit jam hari bulan hari-dalam-minggu
BidangRentang NilaiDeskripsi
menit0 - 59Menit ke berapa setiap jam dieksekusi
jam0 - 23Jam ke berapa setiap hari dieksekusi
hari1 - 31Hari ke berapa setiap bulan dieksekusi
bulan1 - 12Bulan ke berapa setiap tahun dieksekusi
hari-dalam-minggu0 - 70 dan 7 keduanya menunjukkan Minggu

Setiap bidang mendukung sintaks berikut:

  • * — mencocokkan semua nilai (misalnya * * * * * berarti dieksekusi setiap menit)
  • */N — dieksekusi setiap N unit (misalnya */5 * * * * berarti dieksekusi setiap 5 menit)
  • Angka tunggal — mencocokkan nilai tertentu (misalnya 0 9 * * 1 berarti dieksekusi setiap Senin pukul 9:00)

Catatan: Tidak mendukung beberapa nilai yang dipisahkan koma (seperti 1,15) dan ekspresi rentang (seperti 1-5), untuk batasan lebih lanjut lihat Catatan di bawah.

Pola Kombinasi yang Didukung ​

Perangkat lunak ini tidak menjalankan daemon Cron asli, melainkan menerjemahkan ekspresi Cron menjadi parameter pemicu Windows Task Scheduler (schtasks.exe). Untuk pemetaan yang akurat, parser hanya mendukung 7 pola kombinasi yang di-hardcode berikut, mencakup sebagian besar skenario tugas terjadwal:

#PolaDeskripsiSkenario yang Cocok
1* * * * *Dieksekusi setiap menitTugas pemantauan, deteksi real-time
2*/N * * * *Dieksekusi setiap N menitTugas pemeriksaan berkala
3M * * * *Dieksekusi pada menit ke-M setiap jam (misalnya 3 * * * *)Tugas pada jam penuh
4M H * * *Dieksekusi pada pukul H menit ke-M setiap hari (misalnya 0 3 * * *)Perawatan harian, seperti membersihkan log di dini hari
5M H * * DOWDieksekusi pada pukul H menit ke-M pada hari tertentu setiap minggu (misalnya 0 12 * * 1)Tugas rutin mingguan, seperti mencadangkan data setiap Senin
6M H D * *Dieksekusi pada pukul H menit ke-M pada tanggal tertentu setiap bulanTugas bulanan, seperti membuat laporan setiap tanggal 1
7M H D MON *Dieksekusi pada pukul H menit ke-M pada bulan dan tanggal tertentu setiap tahunTugas tahunan, seperti dieksekusi pada bulan tertentu

Jika ekspresi tidak termasuk dalam 7 pola di atas, sistem akan menganggapnya sebagai Unsupported cron pattern dan menolak pembuatannya.

Catatan ​

Karena diimplementasikan berdasarkan Windows Task Scheduler, parser Cron perangkat lunak ini memiliki perbedaan berikut dengan Cron Linux standar:

1. Tidak Mendukung Daftar (,) dan Rentang (-) ​

Cron standar mengizinkan mendefinisikan beberapa titik waktu diskrit melalui koma (misalnya 1,15,30 * * * * berarti menit ke-1, ke-15, ke-30), atau mendefinisikan rentang melalui tanda hubung (misalnya 1-5 * * * * berarti menit ke-1 hingga ke-5).

Batasan perangkat lunak ini: Setiap bidang hanya dapat diisi angka tunggal, tanda bintang (*), atau langkah (*/N), tidak mendukung koma dan tanda hubung.

2. Tidak Mendukung Kombinasi Bebas ​

Cron standar mengizinkan kombinasi bebas bidang apa pun (seperti * 3 * * * berarti setiap menit dalam jam pukul 3 pagi), tetapi perangkat lunak ini hanya mendukung 7 pola tetap yang tercantum di atas, ekspresi di luar rentang ini akan ditolak.

3. Perbedaan Penyelarasan Waktu pada Pola Langkah ​

Dalam Cron standar, */5 * * * * diselaraskan secara ketat ke menit 0, 5, 10, 15... pada jam. Perangkat lunak ini menerjemahkannya menjadi parameter /SC MINUTE /MO 5 Windows, dan logika pemrosesan Windows adalah menghitung interval sejak tugas dibuat atau diaktifkan.

Misalnya, jika Anda menyimpan dan mengaktifkan tugas yang berjalan setiap 5 menit pada 10:02, tugas tersebut akan pertama kali dieksekusi pada 10:07, lalu 10:12, bukan diselaraskan ke 10:05 pada jam standar.