ตัวสร้าง Crontab
สร้างและตรวจสอบนิพจน์ cron พร้อมคำอธิบายที่อ่านได้ทันที มองเห็นกำหนดการ ดูตัวอย่างเวลาดำเนินการครั้งต่อไป และส่งออกไปยังรูปแบบ crontab เหมาะสำหรับผู้ดูแลระบบ Linux/Unix
ไฟล์ crontab คืออะไร?
ไฟล์ crontab เป็นไฟล์กำหนดค่าที่ใช้โดย daemon cron ในระบบปฏิบัติการแบบ Unix เพื่อจัดกำหนดการคำสั่งหรือสคริปต์ให้ทำงานอัตโนมัติในช่วงเวลาที่กำหนด ผู้ใช้แต่ละคนสามารถมีไฟล์ crontab ของตัวเองได้
นิพจน์ cron มีกี่ฟิลด์?
นิพจน์ cron มาตรฐานมี 5 ฟิลด์: นาที (0-59), ชั่วโมง (0-23), วันในเดือน (1-31), เดือน (1-12), และวันในสัปดาห์ (0-7, โดยที่ 0 และ 7 คือวันอาทิตย์) บางระบบรองรับฟิลด์ที่ 6 เพิ่มเติมสำหรับปี
เครื่องหมายดอกจัน (*) ใน cron หมายถึงอะไร?
เครื่องหมายดอกจัน (*) เป็นอักขระแทนที่หมายถึง "ทุก" หรือ "ค่าที่เป็นไปได้ทั้งหมด" สำหรับฟิลด์นั้น ตัวอย่างเช่น * ในฟิลด์นาทีหมายถึงคำสั่งทำงานทุกนาที
ฉันจะระบุค่าหลายค่าใน cron ได้อย่างไร?
คุณสามารถระบุค่าหลายค่าโดยใช้เครื่องหมายจุลภาค (ตัวอย่างเช่น 1,3,5 สำหรับวันจันทร์ วันพุธ วันศุกร์), ช่วงด้วยเครื่องหมายยัติภังค์ (ตัวอย่างเช่น 1-5 สำหรับวันจันทร์ถึงวันศุกร์), หรือค่าขั้นตอนด้วยเครื่องหมายทับ (ตัวอย่างเช่น */2 สำหรับทุก 2 หน่วย)
ความแตกต่างระหว่างวันในเดือนและวันในสัปดาห์คืออะไร?
วันในเดือน (ฟิลด์ 3) ระบุวันที่ (1-31), ในขณะที่วันในสัปดาห์ (ฟิลด์ 5) ระบุวันในสัปดาห์ (0-7) หากทั้งสองถูกจำกัด คำสั่งจะทำงานเมื่อหนึ่งในสองตรงกัน
ฉันจะรันงาน cron ทุก 5 นาทีได้อย่างไร?
ใช้นิพจน์ */5 * * * * ซึ่งหมายถึง "ทุก 5 นาที" */5 ในฟิลด์นาทีสร้างรูปแบบขั้นตอนที่ทริกเกอร์ที่ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, และ 55 นาทีหลังแต่ละชั่วโมง
ฉันสามารถจัดกำหนดการงานให้ทำงานในช่วงเวลาเฉพาะเช่น 9 โมงเช้าและ 5 โมงเย็นได้หรือไม่?
ได้ ใช้ค่าที่คั่นด้วยเครื่องหมายจุลภาค: 0 9,17 * * * จะทำงานที่ 9:00 น. และ 17:00 น. ทุกวัน คุณยังสามารถใช้ช่วงเช่น 0 9-17 * * * สำหรับการดำเนินการทุกชั่วโมงตั้งแต่ 9 โมงเช้าถึง 5 โมงเย็น
สตริง cron พิเศษเช่น @daily หรือ @hourly คืออะไร?
สตริงพิเศษคือทางลัด: @yearly หรือ @annually (ปีละครั้ง), @monthly (เดือนละครั้ง), @weekly (สัปดาห์ละครั้ง), @daily หรือ @midnight (วันละครั้ง), @hourly (ชั่วโมงละครั้ง), และ @reboot (เมื่อระบบเริ่มต้น)
ฉันจะแก้ไขไฟล์ crontab ของฉันได้อย่างไร?
ใช้คำสั่ง "crontab -e" เพื่อแก้ไขไฟล์ crontab ของคุณ ใช้ "crontab -l" เพื่อแสดงรายการงาน cron ปัจจุบันของคุณ และ "crontab -r" เพื่อลบงาน cron ทั้งหมดของคุณ สำรองข้อมูลก่อนแก้ไขเสมอ
บันทึก cron ถูกเก็บไว้ที่ไหน?
บันทึก cron มักจะถูกเก็บไว้ที่ /var/log/cron, /var/log/messages, หรือ /var/log/syslog ขึ้นอยู่กับการแจกจ่าย Linux ของคุณ คุณยังสามารถเปลี่ยนเส้นทางเอาต์พุต cron ไปยังไฟล์บันทึกที่กำหนดเองในรายการ crontab ของคุณ
ทำไมงาน cron ของฉันไม่ทำงาน?
ปัญหาทั่วไปรวมถึง: ไวยากรณ์ไม่ถูกต้อง, สิทธิ์ไฟล์ผิด, คำสั่งไม่อยู่ใน PATH, ตัวแปรสภาพแวดล้อมไม่ได้ตั้งค่า, หรือ daemon cron ไม่ทำงาน ตรวจสอบบันทึกสำหรับข้อความแสดงข้อผิดพลาดและตรวจสอบนิพจน์ของคุณด้วยเครื่องมือนี้
ฉันสามารถใช้ตัวแปรสภาพแวดล้อมใน crontab ได้หรือไม่?
ได้ คุณสามารถกำหนดตัวแปรสภาพแวดล้อมที่ด้านบนของไฟล์ crontab ของคุณ (ตัวอย่างเช่น SHELL=/bin/bash, PATH=/usr/bin:/bin) ตัวแปรเหล่านี้ใช้กับงาน cron ทั้งหมดในไฟล์นั้น
ไวยากรณ์ cron 6 ฟิลด์คืออะไร?
ไวยากรณ์ 6 ฟิลด์เพิ่มฟิลด์วินาทีที่จุดเริ่มต้น: วินาที นาที ชั่วโมง วัน เดือน วันในสัปดาห์ สิ่งนี้รองรับโดยการดำเนินการ cron บางตัวเช่น Quartz Scheduler แต่ไม่โดย cron Unix มาตรฐาน
ฉันจะสำรองข้อมูล crontab ของฉันได้อย่างไร?
รัน "crontab -l > mycrontab.backup" เพื่อบันทึก crontab ของคุณไปยังไฟล์ หากต้องการกู้คืน ให้ใช้ "crontab mycrontab.backup" การสำรองข้อมูลก่อนทำการเปลี่ยนแปลงเป็นแนวทางปฏิบัติที่ดี