เครื่องมือสำหรับนักพัฒนา · ตัวสร้าง Crontab
ฟิลด์ crontab ทั้งห้าทำงานอย่างไร: นาที ชั่วโมง วัน เดือน วันธรรมดา
· มันทำงานอย่างไร
cron การกำหนดเวลา นักพัฒนาเวิร์กโฟลว์
ตาราง cron ทุกรายการจะมีช่องตำแหน่ง 5 ช่อง และลำดับจะไม่เปลี่ยนแปลง โพสต์นี้จะอธิบายช่วงของแต่ละฟิลด์ กรณีพิเศษของวันอาทิตย์ และวิธีที่บรรทัดกลายเป็นชุดของนาทีที่ตรงกัน
การสำรองข้อมูลที่ต้องทำงานที่ 02:30 ทุกคืน — และห้าดาวที่คุณไม่แน่ใจว่าจะต้องเติมอย่างไร
คุณต้องมีข้อมูลสำรองที่ 02:30 ทุกคืน แต่ให้ผสมดูว่าห้าดาวดวงใดเป็นเจ้าของชั่วโมงนั้น Cron อยู่ในตำแหน่ง: ตัวเลขในคอลัมน์ที่ไม่ถูกต้องจะสร้างกำหนดการที่แตกต่างออกไปในขณะที่ดูถูกต้องอย่างผิวเผิน เริ่มต้นด้วยเวลาที่งานต้องรัน เขตเวลาของเครื่อง และใครเป็นเจ้าของ crontab จากนั้นกรอกข้อมูลในฟิลด์เท่านั้น ToolAcre สามารถแยกวิเคราะห์และอธิบายนิพจน์ได้ แต่ไม่ได้ติดตั้งงานหรือรันคำสั่งสำรองข้อมูลของคุณ
ฟิลด์ตำแหน่ง ลำดับคงที่ — นาที ชั่วโมง วันของเดือน เดือน วันในสัปดาห์ จากนั้นตามด้วยคำสั่ง
บรรทัด crontab ของผู้ใช้มีนาที ชั่วโมง วันของเดือน เดือน วันในสัปดาห์ ตามด้วยคำสั่ง ใน 30 2 * * * backup.sh, 30 คือนาที และ 2 คือชั่วโมง: 02:30 ในแต่ละวันภายใต้เขตเวลาของสภาพแวดล้อม cron นั้น คำสั่งไม่ใช่ฟิลด์ครั้งที่หก /etc/crontab ทั่วทั้งระบบอาจรวมฟิลด์ผู้ใช้ไว้หน้าคำสั่ง ซึ่งเป็นเหตุผลว่าทำไมการสุ่มสี่สุ่มห้ารายการระบบไปยัง crontab ส่วนตัวของคุณจึงสามารถเรียกใช้คำสั่งที่ไม่ได้ตั้งใจได้
ช่วงของแต่ละฟิลด์ — 0–59, 0–23, 1–31, 1–12 และ 0–7 ด้วย 0 และ 7 ทั้งคู่มีความหมายว่าวันอาทิตย์ในภาษาส่วนใหญ่
นาทียอมรับ 0–59 ชั่วโมง 0–23 วันของเดือน 1–31 เดือน 1–12 และวันทำงาน 0–7 ใน แบบแผนสไตล์ Vixie ToolAcre โมเดล; 0 และ 7 หมายถึงวันอาทิตย์ เครื่องหมายดอกจันหมายถึงค่าทั้งหมดในช่องนั้น ช่วงและรายการที่คั่นด้วยเครื่องหมายจุลภาคสามารถจำกัดค่าได้ แต่ยังคงใช้ช่วงตัวเลขของช่อง 25 ในตำแหน่งชั่วโมงไม่ใช่กำหนดการช่วงดึก: ไม่ถูกต้องและควรรายงานแทนที่จะรวมไว้เป็นวันถัดไป
วิธีการทำงานของการจับคู่ — cron ปลุกแต่ละนาทีและรันบรรทัดหากฟิลด์เวลาตรงกัน (โดยมีข้อยกเว้นหนึ่งประการสำหรับฟิลด์สองวัน)
Cron ตรวจสอบฟิลด์ที่ตรงกันในแต่ละนาที นาที ชั่วโมง และเดือนทั้งหมดต้องตรงกัน ฟิลด์สองวันมีกฎพิเศษใน Vixie cron: เมื่อทั้งวันของเดือนและวันในสัปดาห์ถูกจำกัด การจับคู่ของทั้งสองสามารถทริกเกอร์งานได้ ไม่จำเป็นต้องทั้งสองอย่าง ดังนั้น 0 0 13 * 5 หมายถึงวันที่สิบสามของเดือนหรือทุกวันศุกร์ ไม่ใช่เฉพาะวันศุกร์ที่สิบสามเท่านั้น เมื่อใช้สัญลักษณ์แทนในตำแหน่งวัน ตัวอย่างทุกคืนจะทำงานตามที่ตั้งใจไว้ ผลลัพธ์ที่อธิบายของเครื่องมือทำให้ตัวเลือกนั้นมองเห็นได้ก่อนการติดตั้ง
ตัวอย่างการทำงาน: 30 2 * * * backup.sh — อ่านออกเสียง จากนั้นเขียน 'วันธรรมดาที่ 08:15' ตั้งแต่ต้น
อ่านออกเสียง 30 2 * * * backup.sh “วิ่ง backup.sh ที่ 02:30 ทุกวัน” สำหรับวันธรรมดาที่ 08:15 ให้ใส่นาที 15 ชั่วโมง 8 วันที่ไม่จำกัด/month และวันธรรมดา 1–5: 15 8 * * 1-5. วางเฉพาะฟิลด์กำหนดการห้าฟิลด์ลงในตัวสร้าง Crontab และตรวจสอบคำอธิบายและรายการรันถัดไป ติดตั้งคำสั่งโดยใช้โปรแกรมแก้ไข crontab ของคุณเองหลังจากนั้น สำหรับการสำรองข้อมูลที่ทำงานใกล้กับการเปลี่ยนแปลงการปรับเวลากลางวัน ให้ตรวจสอบการประทับเวลาเรียกใช้ครั้งถัดไปในโซนจริง แทนที่จะถือว่าทุก 02:30 ในเครื่องมีอยู่
ชื่อเดือนและวันธรรมดา รวมถึงช่วงชื่อที่รองรับ
ภาษาถิ่น cron หลายภาษายอมรับชื่อที่มีตัวอักษรสามตัว เช่น JAN หรือ MON แทนตัวเลข ชื่อสามารถทำให้กำหนดการที่มนุษย์ดูแลชัดเจนยิ่งขึ้น แต่การใช้ 0/7 สำหรับวันอาทิตย์ยังคงเป็นเรื่องปกติ และการใช้งาน cron อื่นๆ อาจมีส่วนขยายที่แตกต่างกัน ToolAcre จดจำชื่อและช่วงของเดือนและวันทำงานทั่วไป เช่น JAN-MAR และ MON-FRI; ตัวแยกวิเคราะห์ยอมรับ 15 8 * JAN-MAR MON-FRI การใช้งาน cron หรือตัวกำหนดเวลาระบบคลาวด์อื่นอาจใช้จำนวนฟิลด์หรือส่วนขยายที่แตกต่างกัน ดังนั้นโปรดศึกษาไวยากรณ์ของสภาพแวดล้อมนั้นก่อนที่จะติดตั้งบรรทัด
สิ่งที่ภาพรวมนี้ไม่ครอบคลุมทั้งหมด: รายการ ขั้นตอน และสภาพแวดล้อมการดำเนินการ
บทนำนี้จะอธิบายกฎหรือกฎวันฟิลด์ของ Vixie แต่ไม่ได้สำรวจการผสมผสานที่ซับซ้อนกับรายการและขั้นตอน ซึ่งเป็นเชลล์/environmentที่ดำเนินการคำสั่งหรือพฤติกรรมการประหยัดเวลากลางวัน แต่ละคนสามารถเปลี่ยนได้ว่างานจริงดำเนินไปหรือไม่ เครื่องมือตรวจสอบสามารถอธิบายกำหนดการได้ แต่ไม่สามารถรับประกันได้ว่า backup.sh มีอยู่ ได้รับอนุญาต หรือเขียนข้อมูลสำรองที่สามารถกู้คืนได้ ทดสอบการสำรองข้อมูลและการคืนค่าก่อนที่จะใช้รายการ cron ที่ใช้งานจริง
ประเด็นสำคัญ: ห้าฟิลด์ หนึ่งไวยากรณ์ — และเครื่องสร้าง Crontab จะสร้างนิพจน์และอธิบายกลับมาให้คุณฟัง
ห้าตำแหน่งในรูปแบบหนึ่งไวยากรณ์ โปรแกรมสร้าง Crontab จะอ่านกำหนดการที่คุณเสนอ ตั้งชื่อแต่ละฟิลด์ และแสดงการดำเนินการที่กำลังจะเกิดขึ้นในโซนที่เลือกโดยไม่ต้องติดตั้งอะไรเลยในระบบของคุณ ป้อนตัวอย่างในตอนกลางคืนและวันธรรมดา เปรียบเทียบสิ่งที่เครื่องมือบอกกับสิ่งที่คุณต้องการ จากนั้นเก็บการตัดสินใจของคำสั่งและเขตเวลาไว้กับเอกสารการปฏิบัติงานของงาน