ภาษาไทย
Appearance
ภาษาไทย
Appearance
Task Scheduler (ตัวกำหนดเวลางาน) ใช้สำหรับ ทำงานอัตโนมัติตามช่วงเวลาใน WSL เพื่อหลีกเลี่ยงการบำรุงรักษาด้วยตนเองที่ซ้ำซาก โดยมีอินเทอร์เฟซการจัดการแบบภาพที่ช่วยให้คุณสร้างและจัดการงานตามกำหนดเวลาได้โดยไม่ต้องจำพารามิเตอร์บรรทัดคำสั่งที่ซับซ้อน
ตัวอย่างสถานการณ์การใช้งานฟีเจอร์นี้:
งานทั้งหมดจะถูกรวบรวมไว้ภายใต้พาธ \WSLDashboard\UserTasks\ ของตัวกำหนดเวลางาน Windows เพื่อให้ดูและจัดการแบบรวมศูนย์ คุณสามารถดูสถานะงาน (พร้อม / กำลังทำงาน / ปิดใช้งาน) แบบเรียลไทม์ในอินเทอร์เฟซ
คุณสามารถดาวน์โหลดสคริปต์ตัวอย่าง (สำรองข้อมูลการแจกจ่าย) จากคลังชุมชนด้านล่างเพื่อเริ่มต้นใช้งานได้อย่างรวดเร็ว:
https://github.com/owu/wsl-community
นี่คือคลังโค้ดที่ผู้ใช้ร่วมกันสร้างขึ้น เรายินดีต้อนรับคุณในการส่ง Pull Request เพื่อมีส่วนร่วมในสคริปต์หรือแบ่งปันแนวทางปฏิบัติที่ดีที่สุด
งานตามกำหนดเวลาแต่ละงานสามารถกำหนดค่าคำสั่งที่ต้องการเรียกใช้ (สคริปต์หรือไฟล์ปฏิบัติการ) โดยมีตัวเลือกดังต่อไปนี้:
| รายการกำหนดค่า | คำอธิบาย |
|---|---|
| คำสั่งเรียกใช้ | พาธไปยังสคริปต์หรือไฟล์ปฏิบัติการ รองรับรูปแบบเช่น .bat, .ps1, .cmd, .exe, .py สามารถเลือกไฟล์ได้ผ่านปุ่ม "เรียกดู" |
| พารามิเตอร์คำสั่ง | พารามิเตอร์เพิ่มเติมที่ส่งไปยังคำสั่ง (ไม่บังคับ) |
| สิทธิ์ผู้ดูแลระบบ | หากเลือก งานจะทำงานด้วยสิทธิ์สูงสุด เหมาะสำหรับการดำเนินการที่ต้องการการยกระดับ 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 ของซอฟต์แวร์นี้จึงมีความแตกต่างจาก Linux Cron มาตรฐานดังต่อไปนี้:
,) และช่วง (-) Cron มาตรฐานอนุญาตให้ใช้เครื่องหมายจุลภาคกำหนดจุดเวลาที่ไม่ต่อเนื่องหลายจุด (เช่น 1,15,30 * * * * หมายถึงนาทีที่ 1, 15, 30) หรือใช้ยัติภังค์กำหนดช่วง (เช่น 1-5 * * * * หมายถึงนาทีที่ 1 ถึง 5)
ข้อจำกัดของซอฟต์แวร์นี้: แต่ละฟิลด์สามารถใส่ได้เฉพาะ ตัวเลขเดี่ยว, เครื่องหมายดอกจัน (*) หรือ ขั้นตอน (*/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