เครื่องมือสำหรับนักพัฒนา · ตัวสร้าง Crontab
จากเวอร์ชัน 7 Unix ถึง Vixie cron: ประวัติโดยย่อของ cron
· พื้นหลัง
cron ประวัติศาสตร์ หลักฐานซอฟต์แวร์
cron เป็นหนึ่งใน daemons ที่เก่าแก่ที่สุดที่ยังคงใช้อยู่ทุกวัน โพสต์นี้ต่อจากไฟล์ทั้งระบบเดียวใน Unix ปี 1970 ไปจนถึง crontab ต่อผู้ใช้ไปจนถึงการเขียนใหม่ของ Paul Vixie ซึ่งระบบ Linux ส่วนใหญ่ยังคงสืบทอดมา
พื้นที่เก็บข้อมูลสาธิตแบบจำลองห้าฟิลด์ในปัจจุบัน ไม่ใช่ความต่อเนื่องทางประวัติศาสตร์ของ cron
ToolAcre สร้างแบบจำลองกำหนดการห้าฟิลด์ที่คุ้นเคยใน JavaScript ปัจจุบัน ข้อเท็จจริงดังกล่าวไม่ได้พิสูจน์ให้เห็นถึงความต่อเนื่องของดีมอนในปี 1970 ไปจนถึงโฮสต์สมัยใหม่ทุกเครื่อง ไวยากรณ์ที่ใช้งานได้และการเล่าเรื่องทางประวัติศาสตร์เป็นผลลัพท์ที่เป็นหลักฐานที่แตกต่างกัน และพื้นที่เก็บข้อมูลมีเพียงอันแรกอย่างเจาะลึกเท่านั้น
ความคิดเห็นแหล่งที่มาเรียกกฎวันฟิลด์สไตล์ Vixie แต่ความคิดเห็นไม่ใช่ไฟล์เก็บถาวรของรุ่น Unix บทความนี้จึงต่อต้านการเปลี่ยนอินเทอร์เฟซที่ดูเสถียรเป็นการอ้างว่าเหตุใด cron จึงรอดชีวิตหรือฐานโค้ดใดที่ daemon ของผู้อ่านสืบทอดมา พฤติกรรมสามารถแม่นยำได้โดยไม่ต้องมีแหล่งที่มา
รายละเอียดการใช้งานเวอร์ชัน 7 จำเป็นต้องมีแหล่งที่มาหลักภายนอก
ส่วนเวอร์ชัน 7 ของสมุดงานตั้งชื่อหนึ่งไฟล์และรอบการอ่านต่อนาที ไม่มีแหล่งที่มา เวอร์ชัน 7 คู่มือ หรือการสแกน เก็บไว้ในแหล่งที่มาของบทความ การแก้ไขในนาทีต่อนาทีของ ToolAcre ไม่สามารถยืนยันรายละเอียดการใช้งานที่ผ่านมาเหล่านั้นได้อย่างอิสระ
ประวัติศาสตร์ที่รับผิดชอบจะอ้างอิงคู่มือหลักหรือแผนผังแหล่งที่มาและแยกวันที่ตีพิมพ์ออกจากความทรงจำในภายหลัง จนกว่าจะมีการวิจัยดังกล่าว ส่วนนี้จะบันทึกการละเว้น ผู้อ่านยังคงสามารถเรียนรู้ทั้งห้าฟิลด์จากโค้ดที่ทดสอบโดยไม่ได้รับเรื่องราวต้นกำเนิดที่ไม่มีแหล่งที่มาซึ่งนำเสนอตามความเป็นจริง
คุณสมบัติเชื้อสายและนโยบายของ System V ไม่มีหลักฐานที่นี่
การกล่าวอ้างเกี่ยวกับ System V ที่เพิ่ม crontabs ต่อผู้ใช้ คำสั่ง หรือรายการนโยบาย จำเป็นต้องมีเอกสารจากภายนอกเช่นกัน รหัสเบราว์เซอร์ไม่มีรายการอนุญาตหรือปฏิเสธ และไม่มีตัวจัดการผู้ใช้ crontab คำศัพท์ที่คล้ายกันในระบบหลังๆ ไม่สามารถกำหนดได้ว่าคุณลักษณะนั้นปรากฏขึ้นครั้งแรกเมื่อใด
การแก้ไขนี้เป็นไปตามสัญญาการเขียน: โครงร่างเป็นเพียงเนื้อหาสั้นๆ ไม่ใช่แหล่งที่มา แทนที่จะสลับประโยคที่กว้างใหญ่อย่างเงียบๆ บทความระบุว่าจำเป็นต้องใช้หลักฐานอะไรบ้าง คุณสามารถขยายความครอบคลุมในอดีตได้ในภายหลังเมื่อมีการเพิ่มเนื้อหาหลักใน `sources` และอ่านโดยตรง
การระบุแหล่งที่มาของ Vixie ปรากฏในความคิดเห็น แต่ไม่มีแหล่งที่มาของวันที่และการเผยแพร่
การใช้งานจะตั้งชื่อ Vixie cron เมื่ออธิบายพฤติกรรม OR และปฏิเสธสไตล์ตัวกำหนดเวลาหกฟิลด์ ไม่มีไฟล์เก็บถาวรการเผยแพร่ การอ้างอิง 1987 หรือบันทึกการเปลี่ยนแปลงเวอร์ชัน 3.0 วันที่และเหตุการณ์สำคัญเหล่านั้นจึงไม่ถูกทำซ้ำจากสมุดงาน
การอ้างสิทธิ์ระดับโค้ดจะแคบลง: เมื่อฟิลด์ทั้งสองวันถูกจำกัด ToolAcre ส่งคืน `monthMatch || weekMatch` เตือนผู้ใช้และพูดว่า "หรือ" ในคำอธิบาย พฤติกรรมนั้นสามารถทดสอบได้อย่างสมบูรณ์ การระบุแหล่งที่มานอกเหนือจากความคิดเห็นยังคงเป็นงานวิจัยมากกว่าการเติมส่วนพื้นหลัง
การใช้งานสืบทอดอยู่นอกฐานรหัสนี้
ชื่อต่างๆ เช่น cronie, dcron, fcron, bcron และ BusyBox ระบุโครงการภายนอก ซึ่งไม่มีการนำเข้าหรือทดสอบที่นี่ ToolAcre ไม่สามารถบอกได้ว่าโฮสต์ใช้อันไหน ไม่ว่าจะยอมรับทุกนามแฝงหรือวิธีจัดการกับการเปลี่ยนเวลา รายชื่อผู้สืบทอดจะบ่งบอกถึงการวิจัยเชิงเปรียบเทียบที่ไม่ได้เกิดขึ้น
เมื่อความสะดวกในการพกพามีความสำคัญ ให้ตรวจสอบการใช้งานเป้าหมายโดยตรง จำนวนฟิลด์ ชื่อ และตัวดำเนินการที่ยอมรับนั้นเป็นข้อเท็จจริงในการปฏิบัติงาน ลำดับวงศ์ตระกูลสามารถช่วยอธิบายความแตกต่างได้ แต่ไม่ควรทดแทนคู่มือปัจจุบันของเป้าหมายและการทดสอบการตรวจสอบที่ไม่เป็นอันตราย
สิ่งที่อยู่ใน ToolAcre: ฟิลด์เรียงลำดับห้าฟิลด์และไวยากรณ์ทดสอบ
สิ่งที่พื้นที่เก็บข้อมูลสร้างขึ้นนั้นมีความสำคัญ ช่องต่างๆ จะเรียงลำดับเป็นนาที ชั่วโมง วันของเดือน เดือน และวันในสัปดาห์ ช่วงตัวเลขมีความชัดเจน ชื่อเดือนและวันทำงานไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ วันอาทิตย์ 7 ทำให้เป็นมาตรฐาน 0; ช่วง รายการ และขั้นตอนจะขยายออกเป็นค่าที่ไม่ซ้ำแบบเรียงลำดับ
ตัวแยกวิเคราะห์ยังสนับสนุนนามแฝงที่มีชื่อเจ็ดชื่อ ยกเว้น `@reboot` สร้างข้อผิดพลาดเฉพาะ เตือนเกี่ยวกับวันที่ที่เป็นไปไม่ได้และฟิลด์ ORed วัน แสดงผลเป็นภาษาอังกฤษ และคำนวณเวลานาฬิกาแขวนที่กำลังจะมาถึงในโซนที่เลือก สัญญาร่วมสมัยดังกล่าวสมควรได้รับเอกสารประกอบที่แน่นอนโดยไม่ขึ้นอยู่กับการตกแต่งทางประวัติศาสตร์
anacron และ systemd ยังคงอยู่นอกเครื่องกำเนิด
ไม่มีการกำหนดค่า anacron หรือตัวแยกวิเคราะห์ปฏิทิน systemd ปรากฏในเครื่องมือ ระบบเหล่านี้ไม่สามารถวางตำแหน่งเป็นผู้สืบทอดทางวิวัฒนาการหรือทางเลือกอื่นบนหลักฐานที่เก็บข้อมูลเพียงอย่างเดียว แม้ว่าจะเปรียบเทียบกันโดยทั่วไปแล้วก็ตาม การเรียกใช้ที่พลาด การขึ้นต่อกัน และพฤติกรรมการบันทึกจำเป็นต้องมีแหล่งที่มาที่แยกจากกัน
ToolAcre การปฏิเสธหกฟิลด์และโอเปอเรเตอร์ที่ไม่สนับสนุนไม่ถือเป็นการตัดสินเกี่ยวกับระบบเหล่านั้น มันเพียงปกป้องหนึ่งไวยากรณ์ บทความเกี่ยวกับทางเลือกอื่นควรเริ่มต้นด้วยการใช้งานและเอกสารประกอบ ไม่ใช่สรุปคุณสมบัติจากรูปร่างของนิพจน์ crontab
ประเด็นสำคัญ: ใช้หลักฐานการดำเนินการสำหรับพฤติกรรมและแหล่งข้อมูลหลักสำหรับประวัติ
ประวัติศาสตร์ด้านเทคนิคจำเป็นต้องมีระเบียบวินัยเช่นเดียวกับเอกสารประกอบโค้ด: การกล่าวอ้างควรตรวจสอบย้อนกลับไปยังเนื้อหาที่กล่าวถึงสิ่งเหล่านั้นจริง ๆ เรื่องราวที่น่าเชื่อถือในที่นี้คือพฤติกรรมปัจจุบันของผู้กำเนิดและการไม่มีหลักฐานที่เก็บถาวรตามลำดับเหตุการณ์ของสมุดงานอย่างชัดเจน
ใช้ ToolAcre เพื่อสร้างและตรวจสอบไวยากรณ์ห้าฟิลด์ที่การทดสอบครอบคลุม หากเผยแพร่ประวัติในภายหลัง ให้เพิ่มแหล่งที่มาหลัก ตรวจสอบวันที่ และแยกแยะการใช้งานที่เกี่ยวข้อง การละเว้นเหตุการณ์สำคัญที่ไม่ได้รับการสนับสนุนในขณะนี้มีความแม่นยำมากกว่าการเล่าเรื่องอย่างคล่องแคล่วซึ่งผู้อ่านไม่สามารถตรวจสอบได้