ภาษาไทย
Appearance
ภาษาไทย
Appearance
Task Scheduler (ตัวกำหนดเวลางาน) ใช้สำหรับทำให้งานตามรอบเป็นอัตโนมัติใน WSL เพื่อหลีกเลี่ยงงานบำรุงรักษาที่ทำซ้ำด้วยตนเอง โดยมีอินเทอร์เฟซการจัดการแบบเห็นภาพ ช่วยให้คุณสร้างและจัดการงานตามเวลาได้โดยไม่ต้องจำพารามิเตอร์บรรทัดคำสั่งที่ซับซ้อน
ตัวอย่างสถานการณ์ของฟีเจอร์นี้:
งานทั้งหมดจะถูกรวบรวมไว้ภายใต้พาธ \WSLDashboard\UserTasks\ ของ Windows Task Scheduler เพื่อความสะดวกในการตรวจสอบและจัดการแบบรวมศูนย์ คุณสามารถดูสถานะงานแบบเรียลไทม์ในอินเทอร์เฟซได้ (พร้อม / กำลังรัน / ปิดใช้งาน)
คุณสามารถดาวน์โหลดสคริปต์ตัวอย่าง (สำรองดิสทริบิวชัน) จากคลังชุมชนด้านล่างเพื่อเริ่มต้นได้อย่างรวดเร็ว:
https://github.com/owu/wsl-community
นี่คือคลังโค้ดที่ผู้ใช้ร่วมกันสร้างขึ้น ยินดีต้อนรับการส่ง Pull Request เพื่อร่วมแบ่งปันสคริปต์หรือแนวทางปฏิบัติที่ดีที่สุด
งานตามเวลาแต่ละงานสามารถกำหนดค่าคำสั่งที่จะรันได้ (สคริปต์หรือโปรแกรมปฏิบัติการ) รองรับตัวเลือกต่อไปนี้:
| รายการกำหนดค่า | คำอธิบาย |
|---|---|
| คำสั่งที่จะรัน | พาธของสคริปต์หรือโปรแกรมปฏิบัติการที่จะรัน รองรับรูปแบบ .bat, .ps1, .cmd, .exe, .py ฯลฯ เลือกไฟล์ได้ผ่านปุ่ม "Browse (เรียกดู)" |
| พารามิเตอร์คำสั่ง | พารามิเตอร์เพิ่มเติมที่ส่งให้คำสั่ง (ไม่บังคับ) |
| สิทธิ์ผู้ดูแลระบบ | เมื่อทำเครื่องหมาย งานจะรันด้วยสิทธิ์สูงสุด เหมาะสำหรับการทำงานที่ต้องยกระดับ UAC |
หลังสร้างงานแล้ว คุณสามารถดำเนินการต่อไปนี้กับงาน:
| การดำเนินการ | คำอธิบาย |
|---|---|
| รันทันที | บังคับให้งานรันทันที ไม่ขึ้นกับกฎการจัดตารางเวลา |
| เปิดใช้งาน/ปิดใช้งาน | หยุดหรือดำเนินการจัดตารางเวลาอัตโนมัติของงานต่อ |
| ลบ | ลบงานออกจากตัวกำหนดเวลางาน |
การจัดตารางงานใช้นิพจน์ Cron แบบ 5 ฟิลด์ มาตรฐานเพื่อกำหนดกฎการรัน รูปแบบดังนี้:
นาที ชั่วโมง วัน เดือน วันในสัปดาห์| ฟิลด์ | ช่วงค่า | คำอธิบาย |
|---|---|---|
| นาที | 0 - 59 | รันในนาทีที่เท่าไหร่ของทุกชั่วโมง |
| ชั่วโมง | 0 - 23 | รันในชั่วโมงที่เท่าไหร่ของทุกวัน |
| วัน | 1 - 31 | รันในวันที่เท่าไหร่ของทุกเดือน |
| เดือน | 1 - 12 | รันในเดือนที่เท่าไหร่ของทุกปี |
| วันในสัปดาห์ | 0 - 7 | 0 และ 7 ต่างก็หมายถึงวันอาทิตย์ |
แต่ละฟิลด์รองรับไวยากรณ์ต่อไปนี้:
* — ตรงกับทุกค่า (เช่น * * * * * หมายถึงรันทุกนาที)*/N — รันทุก ๆ N หน่วย (เช่น */5 * * * * หมายถึงรันทุก 5 นาที)0 9 * * 1 หมายถึงรันทุกวันจันทร์เวลา 9:00)หมายเหตุ: ไม่รองรับหลายค่าที่คั่นด้วยลูกน้ำ (เช่น
1,15) และนิพจน์ช่วง (เช่น1-5) สำหรับข้อจำกัดเพิ่มเติมโปรดดูหมายเหตุด้านล่าง
ซอฟต์แวร์นี้ไม่ได้รัน Cron daemon ดั้งเดิม แต่แปลนิพจน์ Cron เป็นพารามิเตอร์ทริกเกอร์ของ Windows Task Scheduler (schtasks.exe) เพื่อการแมปที่แม่นยำ ตัวแยกวิเคราะห์รองรับเพียง 7 รูปแบบการผสม ที่กำหนดไว้ตายตัวดังนี้ ซึ่งครอบคลุมสถานการณ์งานตามเวลาส่วนใหญ่:
| # | รูปแบบ | คำอธิบาย | สถานการณ์ที่เหมาะสม |
|---|---|---|---|
| 1 | * * * * * | รันทุกนาที | งานประเภทเฝ้าระวัง ตรวจจับแบบเรียลไทม์ |
| 2 | */N * * * * | รันทุก ๆ N นาที | งานตรวจสอบตามรอบ |
| 3 | M * * * * | รันในนาทีที่ M ของทุกชั่วโมง (เช่น 3 * * * *) | งานตอนชั่วโมงเต็ม |
| 4 | M H * * * | รันทุกวันที่เวลา H นาที M (เช่น 0 3 * * *) | การบำรุงรักษารายวัน เช่น ล้างบันทึกตอนเช้ามืด |
| 5 | M H * * DOW | รันทุกสัปดาห์ในวันเฉพาะเวลา H นาที M (เช่น 0 12 * * 1) | งานประจำสัปดาห์ เช่น สำรองข้อมูลทุกวันจันทร์ |
| 6 | M H D * * | รันทุกเดือนในวันที่เฉพาะเวลา H นาที M | งานรายเดือน เช่น สร้างรายงานทุกวันที่ 1 |
| 7 | M H D MON * | รันทุกปีในเดือนและวันที่เฉพาะเวลา H นาที M | งานรายปี เช่น รันในเดือนที่กำหนด |
หากนิพจน์ไม่อยู่ใน 7 รูปแบบข้างต้น ระบบจะถือว่าเป็น
Unsupported cron patternและปฏิเสธการสร้าง
เนื่องจากอิงการใช้งานกับ Windows Task Scheduler ตัวแยกวิเคราะห์ Cron ของซอฟต์แวร์นี้จึงต่างจาก Cron Linux มาตรฐานดังนี้:
,) และช่วง (-) Cron มาตรฐานอนุญาตให้กำหนดหลายจุดเวลาผ่านลูกน้ำ (เช่น 1,15,30 * * * * หมายถึงนาทีที่ 1, 15, 30) หรือกำหนดช่วงผ่านยัติภังค์ (เช่น 1-5 * * * * หมายถึงนาทีที่ 1 ถึง 5)
ข้อจำกัดของซอฟต์แวร์นี้: แต่ละฟิลด์กรอกได้เพียงตัวเลขเดียว, เครื่องหมายดอกจัน (*) หรือขั้น (step) (*/N) เท่านั้น ไม่รองรับลูกน้ำและยัติภังค์
Cron มาตรฐานอนุญาตให้ผสมฟิลด์ใดก็ได้อย่างอิสระ (เช่น * 3 * * * หมายถึงทุกนาทีในชั่วโมงตี 3) แต่ซอฟต์แวร์นี้รองรับเฉพาะ 7 รูปแบบตายตัวตามที่ระบุข้างต้น นิพจน์ที่ไม่อยู่ในขอบเขตนี้จะถูกปฏิเสธ
ใน Cron มาตรฐาน */5 * * * * จะจัดตำแหน่งเข้ากับนาที 0, 5, 10, 15... ของนาฬิกาอย่างเคร่งครัด ซอฟต์แวร์นี้แปลเป็นพารามิเตอร์ /SC MINUTE /MO 5 ของ Windows และตรรกะการประมวลผลของ Windows คือนับช่วงเวลาตั้งแต่ตอนที่สร้างหรือเปิดใช้งานงาน
ตัวอย่างเช่น หากคุณบันทึกและเปิดใช้งานงานที่รันทุก 5 นาทีตอน 10:02 งานจะรันครั้งแรกที่ 10:07 จากนั้น 10:12 แทนที่จะจัดตำแหน่งกับ 10:05 ของนาฬิกามาตรฐาน