Skip to content

Trình lập lịch tác vụ ​

Task Scheduler (Trình lập lịch tác vụ) được 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, giúp bạn tạo và quản lý tác vụ định kỳ mà không cần ghi 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 script hoặc lệnh tùy chỉnh

Tất cả các tác vụ được gom về dưới đường dẫn \WSLDashboard\UserTasks\ của Trình lập lịch tác vụ Windows, thuận tiện cho việc 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 / Đã vô hiệu) trực tiếp trên giao diện.

Kho script cộng đồng ​

Bạn có thể tải các script mẫu (sao lưu bản phân phối) từ kho cộng đồng dưới đây để bắt đầu nhanh:

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

Đây là kho mã do người dùng cùng xây dựng, hoan nghênh bạn gửi Pull Request để đóng góp script 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ụ định kỳ có thể cấu hình lệnh cần thực thi (script hoặc chương trình thực thi), hỗ trợ các tùy chọn sau:

Mục cấu hìnhMô tả
Lệnh thực thiĐường dẫn script hoặc chương trình thực thi cần chạy, hỗ trợ các định dạng .bat, .ps1, .cmd, .exe, .py... Có thể chọn tệp bằng nút "Duyệt".
Tham số lệnhCác tham số bổ sung 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 với các thao tác cần nâng quyền UAC.

Các thao tác với 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 ngayBuộc kích hoạt tác vụ thực thi ngay lập tức, không bị giới hạn bởi 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óaGỡ 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 chuẩn để định nghĩa quy tắc thực thi, định dạng như sau:

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

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

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

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

Các chế độ kết hợp được hỗ trợ ​

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

#Chế độMô tảTình huống áp dụng
1* * * * *Thực thi mỗi phútTác vụ giám sát, 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 thứ M của mỗi giờ (như 3 * * * *)Tác vụ theo giờ
4M H * * *Thực thi vào giờ H phút M mỗi ngày (như 0 3 * * *)Bảo trì hằng ngày, chẳng hạn dọn log lúc rạng sáng
5M H * * DOWThực thi vào giờ H phút M vào thứ cụ thể mỗi tuần (như 0 12 * * 1)Tác vụ định kỳ hằng tuần, chẳng hạn sao lưu dữ liệu thứ Hai
6M H D * *Thực thi vào giờ H phút M vào ngày cụ thể mỗi thángTác vụ hằng tháng, chẳng hạn tạo báo cáo ngày mùng 1
7M H D MON *Thực thi vào giờ H phút M vào tháng và ngày cụ thể mỗi nămTác vụ hằng năm, chẳng hạn thực thi vào một tháng đã chỉ định

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

Lưu ý ​

Do được triển khai dựa trên Tác vụ theo lịch Windows, bộ 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 chuẩn:

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

Cron chuẩn cho phép định nghĩa nhiều mốc thời gian rời rạc bằng dấu phẩy (như 1,15,30 * * * * nghĩa là phút thứ 1, 15, 30), hoặc định nghĩa phạm vi bằng dấu gạch ngang (như 1-5 * * * * nghĩa là phút 1 đến 5).

Giới hạn của phần mềm này: Mỗi trường chỉ được điền một số đơn lẻ, dấu sao (*) hoặc bước nhảy (*/N), không hỗ trợ dấu phẩy và dấu gạch ngang.

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

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

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

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

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