ไทย

เครื่องมือสำหรับนักพัฒนา · ตัวสร้าง Crontab

@reboot, @daily, @hourly: ที่มาของตารางชื่อเล่นของ cron

· พื้นหลัง

cron นามแฝง การกำหนดเวลา

นามแฝงกำหนดการที่มีชื่อเจ็ดชื่อขยายออกเป็นห้าฟิลด์ข้างสัญลักษณ์การรีบูตที่ถูกบล็อก
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

@ ชวเลขสามารถอ่านได้ เป็นที่นิยม และไม่สากล โพสต์นี้จะอธิบายว่าแต่ละส่วนขยายไปถึงอะไร มาจากไหน กรณีพิเศษของ @reboot และเมื่อใดที่ควรเขียนห้าฟิลด์แทน

@reboot ถูกปฏิเสธเนื่องจากเครื่องมือแสดงตัวอย่างเวลาในปฏิทิน ไม่ใช่กิจกรรมเริ่มต้น

`@reboot` ดูเหมือนแบบฟอร์มลงชื่ออื่นๆ แต่ไม่มีการขยายปฏิทินแบบห้าฟิลด์ใน ToolAcre โปรแกรมแยกวิเคราะห์ปฏิเสธด้วยเหตุผลที่ชัดเจน: ไม่มีกำหนดเวลาในการดูตัวอย่าง เหตุการณ์การเริ่มต้นขึ้นอยู่กับวงจรการใช้งานของเครื่องหรือบริการที่เบราว์เซอร์นี้ไม่กำหนดเส้นทางหรือควบคุม

ความแตกต่างนี้ทำให้รายการดำเนินการครั้งต่อไปมีความซื่อสัตย์ นามแฝงของปฏิทินสามารถกลายเป็นช่องและวันที่ที่เป็นรูปธรรมได้ นามแฝงการรีบูตไม่สามารถสร้างตัวเลือกนาฬิกาแขวนในอนาคตห้ารายการจากปัจจุบันทันทีโดยไม่สร้างการรีสตาร์ทในอนาคต การปฏิเสธจึงมีความแม่นยำมากกว่าการแสดงตัวอย่างที่ว่างเปล่าหรือสร้างขึ้น

ชื่อเล่นและส่วนขยาย — @hourly, @daily และ @midnight, @weekly, @monthly, @yearly และ @annually เทียบเท่ากับห้าฟิลด์

ตารางที่รองรับนั้นถูกต้อง `@hourly` กลายเป็น `0 * * * *`; `@daily` และ `@midnight` กลายเป็น `0 0 * * *`; `@weekly` กลายเป็น `0 0 * * 0`; `@monthly` กลายเป็น `0 0 1 * *`; และ `@yearly` บวก `@annually` กลายเป็น `0 0 1 1 *`

UI แก้ไขนามแฝงที่ยอมรับก่อนที่จะคัดลอกค่าลงในกล่องแต่ละกล่องทั้งห้า การแยกวิเคราะห์จะส่งกลับนิพจน์ห้าฟิลด์ที่ทำให้เป็นมาตรฐาน คำอธิบายใช้รูปแบบที่แยกวิเคราะห์ และการทดสอบวนซ้ำผ่านทุกนามแฝง การขยายจึงสามารถตรวจสอบได้แทนที่จะซ่อนชวเลข

ไม่มีการจำลองพฤติกรรม daemon-start หรือการบูตระบบ

ไม่มีรหัสในเส้นทางนี้ได้รับเหตุการณ์การเริ่มต้นระบบปฏิบัติการ ไม่มีกระบวนการ daemon ตัวระบุการบูต หรือกราฟการพึ่งพาบริการ คำสั่งของสมุดงานเกี่ยวกับเวลาที่ `@reboot` รันไม่สามารถสร้างได้จาก parser ที่จงใจปฏิเสธโทเค็น

หากเป้าหมายสนับสนุนชื่อเล่นสตาร์ทอัพ ให้ศึกษาคำจำกัดความวงจรชีวิตของเป้าหมายนั้นและทดสอบอย่างปลอดภัย อย่าใช้ข้อผิดพลาดของ ToolAcre เพื่อพิสูจน์ว่าคุณลักษณะนี้ใช้ไม่ได้ในระดับสากล และอย่าใช้การสนับสนุนของการใช้งานอื่นเป็นหลักฐานว่าเส้นทางนี้ควรแสดงตัวอย่าง

ต้นกำเนิดของนามแฝงและการแพร่กระจายของการนำไปใช้ข้ามต้องใช้แหล่งที่มาทางประวัติศาสตร์จากภายนอก

สมุดงานระบุนามแฝงของการดำเนินการในอดีตและอธิบายการแพร่กระจาย พื้นที่เก็บข้อมูลไม่มีแหล่งประวัติหลักสำหรับการอ้างสิทธิ์นั้น สิ่งที่พิสูจน์ได้คือพฤติกรรมกาลปัจจุบัน: เจ็ดคีย์ใน `ALIASES` การค้นหาที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และการปฏิเสธชวเลขที่ไม่รู้จัก

นั่นก็เพียงพอแล้วสำหรับเอกสารเชิงปฏิบัติ ผู้อ่านสามารถดูได้อย่างแน่ชัดว่าแบบฟอร์มใดใช้ได้ผลที่นี่และขยายไปยังรูปแบบใด สามารถเพิ่มแหล่งที่มาได้ในภายหลังด้วยแหล่งเก็บถาวร ไม่ควรอนุมานจากชื่อคงที่หรือความนิยมของไวยากรณ์ที่คล้ายกันในที่อื่น

ตัวอย่างการทำงาน: แทนที่ @daily ด้วย 0 0 * * * - และเหตุใดรูปแบบที่ชัดเจนจึงอนุญาตให้คุณย้ายเวลาออกจากเที่ยงคืน

การแทนที่ `@daily` ด้วย `0 0 * * *` จะแสดงฟิลด์เวลา การเปลี่ยนชั่วโมงจาก 0 เป็น 4 จะสร้าง `0 4 * * *` ซึ่งเครื่องมือจะอธิบายว่า 04:00 ทุกวัน รูปแบบที่ชัดเจนจะดีกว่าเมื่อเวลาเที่ยงคืนไม่ใช่เวลาที่กำหนด

กล่องฟิลด์ทำให้การปรับเปลี่ยนนั้นตรงไปตรงมาและโซนเวลาที่เลือกจะควบคุมการแสดงตัวอย่างทันที นิพจน์ที่คัดลอกไม่มีนามแฝงหลังจากขยายในผลลัพธ์ของพาร์เซอร์ แต่ข้อความต้นฉบับอาจยังคงอยู่ในกล่องนิพจน์ทั้งหมดจนกว่าฟิลด์จะมีการเปลี่ยนแปลง ตรวจสอบค่าที่คัดลอกจริงก่อนที่จะปรับใช้

ลำดับเวลาบูตและการขึ้นต่อกันอยู่นอกตัวสร้าง

งานเริ่มต้นมักขึ้นอยู่กับระบบไฟล์ เครือข่าย ข้อมูลประจำตัว หรือบริการอื่นๆ ToolAcre ไม่มีโมเดลการพึ่งพาและไม่สามารถประเมินความพร้อม ความล่าช้า หรือพฤติกรรมการรีสตาร์ทได้ แม้ว่าจะยอมรับ `@reboot` การตรวจสอบความถูกต้องของนิพจน์ก็ไม่สามารถแก้ปัญหาการปฏิบัติงานเหล่านั้นได้

ถือว่าการดำเนินการเวลาบูตเป็นเพียงการออกแบบวงจรการใช้งานแทนที่จะเป็นช็อตคัตปฏิทิน ข้อกำหนดเบื้องต้นของเอกสารและการจัดการความล้มเหลวในสภาพแวดล้อมเป้าหมาย เครื่องกำเนิดไฟฟ้ายังคงเหมาะสมสำหรับตารางเวลาห้าฟิลด์ที่เกิดซ้ำซึ่งสามารถคำนวณเวลานาฬิกาแขวนถัดไปได้จริง

ทางเลือกของผู้จัดการฝ่ายบริการไม่ได้รับการประเมินที่นี่

สมุดงานชี้ไปที่หน่วยบริการสมัยใหม่ แต่พื้นที่เก็บข้อมูลนี้ไม่ได้สร้างหรือเปรียบเทียบ ไม่มีไวยากรณ์ของหน่วย คำสั่งการพึ่งพา หรือการทดสอบการเริ่มต้นระบบอยู่ในแหล่งที่มา บทความนี้จึงหลีกเลี่ยงการแนะนำการเปลี่ยนโดยอาศัยชื่อเล่นที่ไม่สนับสนุนเพียงอย่างเดียว

เลือกกลไกวงจรชีวิตจากเอกสารเป้าหมายและข้อกำหนดในการปฏิบัติงาน การมีส่วนร่วมของ ToolAcre เป็นขอบเขตเชิงลบ: `@reboot` อยู่นอกโดเมนที่สามารถดูตัวอย่างได้ ในขณะที่นามแฝงปฏิทินธรรมดาจะมีค่าเทียบเท่าห้าช่องแบบโปร่งใส

Takeaway: ชื่อเล่นเป็นเหมือนน้ำตาลสำหรับสำนวนที่ตายตัว — และเครื่องกำเนิดไฟฟ้าช่วยให้คุณสร้างเวอร์ชันที่ชัดเจนและอ่านกลับได้

นามแฝงเป็นป้ายกำกับที่กระชับสำหรับนิพจน์คงที่ในการใช้งานนี้ ขยายออกไปทุกครั้งที่ทบทวนหรือปรับแต่งผลประโยชน์จากการดูตำแหน่ง `@daily` ไม่ใช่เวทมนตร์ ขณะนี้เป็นเวลาเที่ยงคืนในช่องปฏิทินที่ไม่จำกัดทั้งหมดภายใต้โซนแสดงตัวอย่างที่เลือก

ใช้รายการที่รองรับ ตรวจสอบส่วนขยาย และย้ายออกจากเที่ยงคืนตามความเหมาะสม สำหรับเหตุการณ์เริ่มต้น ให้หยุดและเลือกกลไกเฉพาะเป้าหมาย แทนที่จะบังคับให้ทริกเกอร์วงจรการใช้งานที่ไม่สามารถแสดงตัวอย่างได้ลงในตัวสร้างปฏิทิน ขอบเขตดังกล่าวมีเจตนาและทดสอบแล้ว