Skip to content

Tổng quan về tính năng Task Scheduler

Task Scheduler (Trình lập lịch tác vụ) được sử dụng để tự động hóa các tác vụ định kỳ trong WSL, tránh các thao tác bảo trì thủ công lặp đi lặp lại. Nó cung cấp giao diện quản lý trực quan, cho phép bạn tạo và quản lý các tác vụ đã lên lịch mà không cần nhớ các tham số dòng lệnh phức tạp.

Các tình huống ví dụ của tính năng này:

  • Sao lưu định kỳ các bản phân phối trong WSL
  • Thực thi tập lệnh hoặc lệnh tùy chỉnh

Tất cả các tác vụ được tập trung vào đường dẫn \WSLDashboard\UserTasks\ của Trình lập lịch tác vụ Windows để dễ dàng xem và quản lý tập trung. Bạn có thể xem trạng thái tác vụ (Sẵn sàng / Đang chạy / Đã tắt) theo thời gian thực trong giao diện.

Kho tập lệnh cộng đồng

Bạn có thể tải xuống các tập lệnh mẫu (sao lưu bản phân phối) từ kho cộng đồng bên dưới để bắt đầu nhanh chóng:

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

Đây là kho mã nguồn được xây dựng chung bởi người dùng. Chúng tôi hoan nghênh bạn gửi Pull Request để đóng góp tập lệnh hoặc chia sẻ các phương pháp hay nhất.

Thực thi lệnh

Cấu hình lệnh

Mỗi tác vụ đã lên lịch có thể được cấu hình lệnh cần thực thi (tập lệnh hoặc tệp thực thi), với các tùy chọn sau:

Mục cấu hìnhMô tả
Lệnh thực thiĐường dẫn đến tập lệnh hoặc tệp thực thi. Hỗ trợ các định dạng như .bat, .ps1, .cmd, .exe, .py. Có thể chọn tệp qua nút "Duyệt".
Tham số lệnhCác tham số bổ sung được truyền cho lệnh (tùy chọn).
Quyền quản trị viênKhi được chọn, tác vụ sẽ chạy với quyền cao nhất, phù hợp cho các thao tác yêu cầu nâng cấp UAC.

Thao tác tác vụ

Sau khi tạo tác vụ, bạn có thể thực hiện các thao tác sau:

Thao tácMô tả
Chạy ngay lập tứcBuộc tác vụ chạy ngay lập tức, không phụ thuộc vào quy tắc lập lịch.
Bật/TắtTạm dừng hoặc tiếp tục lập lịch tự động của tác vụ.
XóaXóa tác vụ khỏi Trình lập lịch tác vụ.

Quy tắc lập lịch

Biểu thức Cron

Lập lịch tác vụ sử dụng biểu thức Cron 5 trường tiêu chuẩn để xác định quy tắc thực thi, với định dạng sau:

phút giờ ngày tháng tuần
TrườngPhạm vi giá trịMô tả
phút0 - 59Phút thứ mấy của mỗi giờ sẽ thực thi
giờ0 - 23Giờ thứ mấy của mỗi ngày sẽ thực thi
ngày1 - 31Ngày thứ mấy của mỗi tháng sẽ thực thi
tháng1 - 12Tháng thứ mấy của mỗi năm sẽ thực thi
tuần0 - 70 và 7 đều đại diện cho Chủ nhật

Mỗi trường hỗ trợ cú pháp sau:

  • * —— khớp với tất cả giá trị (ví dụ: * * * * * nghĩa là thực thi mỗi phút)
  • */N —— thực thi mỗi N đơn vị (ví dụ: */5 * * * * nghĩa là thực thi mỗi 5 phút)
  • Số đơn —— khớp với giá trị cụ thể (ví dụ: 0 9 * * 1 nghĩa là thực thi mỗi Thứ Hai lúc 9:00 sáng)

Lưu ý: Không hỗ trợ nhiều giá trị được phân tách bằng dấu phẩy (như 1,15) và biểu thức phạm vi (như 1-5). Để biết thêm các giới hạn, vui lòng xem Lưu ý quan trọng bên dưới.

Các mẫu kết hợp được hỗ trợ

Phần mềm này không chạy trình nền Cron gốc mà chuyển đổi biểu thức Cron thành tham số kích hoạt của Trình lập lịch tác vụ Windows (schtasks.exe). Để ánh xạ chính xác, trình phân tích chỉ hỗ trợ cứng 7 mẫu kết hợp sau đây, bao phủ hầu hết các tình huống tác vụ định kỳ:

#MẫuMô tảTình huống áp dụng
1* * * * *Thực thi mỗi phútGiám sát, tác vụ phát hiện thời gian thực
2*/N * * * *Thực thi mỗi N phútTác vụ kiểm tra định kỳ
3M * * * *Thực thi vào phút M mỗi giờ (ví dụ: 3 * * * *)Tác vụ theo giờ
4M H * * *Thực thi vào H giờ M phút mỗi ngày (ví dụ: 0 3 * * *)Bảo trì hàng ngày, như dọn dẹp nhật ký vào nửa đêm
5M H * * DOWThực thi vào H giờ M phút vào một ngày cụ thể trong tuần (ví dụ: 0 12 * * 1)Tác vụ định kỳ hàng tuần, như sao lưu dữ liệu mỗi Thứ Hai
6M H D * *Thực thi vào H giờ M phút vào một ngày cụ thể trong thángTác vụ hàng tháng, như tạo báo cáo vào ngày 1 hàng tháng
7M H D MON *Thực thi vào H giờ M phút vào một tháng và ngày cụ thể trong nămTác vụ hàng năm, như thực thi vào một tháng được chỉ định

Nếu biểu thức không thuộc 7 mẫu trên, hệ thống sẽ coi là Unsupported cron pattern và từ chối tạo.

Lưu ý quan trọng

Do được triển khai dựa trên Trình lập lịch tác vụ Windows, trình phân tích Cron của phần mềm này có các khác biệt sau so với Cron Linux tiêu chuẩn:

1. Không hỗ trợ danh sách (,) và phạm vi (-)

Cron tiêu chuẩn cho phép sử dụng dấu phẩy để xác định nhiều điểm thời gian riêng lẻ (ví dụ: 1,15,30 * * * * nghĩa là phút thứ 1, 15, 30) hoặc sử dụng dấu gạch nối để xác định phạm vi (ví dụ: 1-5 * * * * nghĩa là phút thứ 1 đến 5).

Giới hạn của phần mềm này: Mỗi trường chỉ có thể nhập số đơn, dấu hoa thị (*) hoặc bước nhảy (*/N). Không hỗ trợ dấu phẩy và dấu gạch nối.

2. Không hỗ trợ kết hợp tự do

Cron tiêu chuẩn cho phép kết hợp tự do các trường (ví dụ: * 3 * * * nghĩa là mỗi phút trong khoảng thời gian từ 3 giờ sáng), nhưng phần mềm này chỉ hỗ trợ 7 mẫu cố định được liệt kê ở trên. Các biểu thức nằm ngoài phạm vi này sẽ bị từ chối.

3. Khác biệt về căn chỉnh thời gian ở chế độ bước nhảy

Trong Cron tiêu chuẩn, */5 * * * * căn chỉnh chính xác đến các phút 0, 5, 10, 15... của đồng hồ. Phần mềm này chuyển đổi nó thành tham số /SC MINUTE /MO 5 của Windows. Logic xử lý của Windows là tính khoảng thời gian kể từ thời điểm tác vụ được tạo hoặc kích hoạt.

Ví dụ: nếu bạn lưu và kích hoạt một tác vụ chạy mỗi 5 phút lúc 10:02, tác vụ sẽ thực thi lần đầu tiên vào lúc 10:07, tiếp theo là 10:12, thay vì căn chỉnh theo đồng hồ tiêu chuẩn là 10:05.