สร้างนิพจน์ cron สำหรับงานที่กำหนดเวลาได้อย่างง่ายดาย
การใช้ตัวสร้างนิพจน์ Cron ง่ายมาก:
นิพจน์ Cron ถูกใช้ในสถานการณ์อัตโนมัติต่างๆ รวมถึงการบริหารระบบ DevOps และ CI/CD pipelines:
เมื่อรันสคริปต์เป็นระยะบนเซิร์ฟเวอร์ Linux ลงทะเบียนนิพจน์ cron ใน crontab ตัวอย่าง: รันสคริปต์สำรองเวลา 2 โมงเช้าทุกวัน (0 2 * * *), รันการหมุนเวียนล็อกทุกวันอาทิตย์ (0 0 * * 0) เป็นต้น
ตัวกระตุ้นตามกำหนดเวลาของ GitHub Actions และ pipelines ที่กำหนดเวลาของ GitLab CI ใช้นิพจน์ cron เพื่อทำระบบอัตโนมัติการสร้าง การทดสอบ และการปรับใช้เป็นระยะ ตัวอย่าง: รันชุดทดสอบทุกวันเวลา 3 โมงเช้า (0 3 * * *)
ทรัพยากร Kubernetes CronJob ใช้นิพจน์ cron เพื่อดำเนินการงานที่ใช้คอนเทนเนอร์เป็นระยะ ตัวอย่าง: รันงานสำรองฐานข้อมูลทุกวันเวลา 1 โมงเช้า (0 1 * * *)
เมื่อใช้ ofelia (ตัวกำหนดเวลางาน Docker) กับ Docker Compose คุณสามารถใช้นิพจน์ cron เพื่อดำเนินการงานคอนเทนเนอร์เป็นระยะ
นิพจน์ Cron ถูกใช้สำหรับงานเป็นระยะในเครื่องมือติดตาม เช่น การประเมินกฎของ Prometheus และการส่งการแจ้งเตือนของ Grafana
ใช้นิพจน์ cron สำหรับกำหนดการเพื่อดำเนินการสำรองฐานข้อมูล ระบบไฟล์ และที่เก็บข้อมูลคลาวด์เป็นระยะ
ใช้สำหรับกำหนดเวลาสคริปต์การล้างข้อมูลที่ลบไฟล์ล็อกเก่าและไฟล์ชั่วคราวเป็นระยะ
นิพจน์ cron เป็นรูปแบบที่ใช้ในการกำหนดกำหนดการดำเนินการงานในตัวกำหนดเวลางาน Unix/Linux 'cron' ตอนนี้ถูกนำมาใช้อย่างกว้างขวางในบริการคลาวด์ เครื่องมือ CI/CD และแพลตฟอร์มการจัดการคอนเทนเนอร์
นิพจน์ cron มาตรฐานประกอบด้วย 5 ฟิลด์:
แต่ละฟิลด์สามารถใช้สัญลักษณ์ต่อไปนี้:
ไวยากรณ์นิพจน์ cron ยากที่จะจำและมีแนวโน้มที่จะผิดพลาดเมื่อเขียนด้วยตนเอง เครื่องมือนี้ช่วยให้แน่ใจว่าคุณสร้างนิพจน์ cron ที่แม่นยำและปราศจากข้อผิดพลาด
กำหนดการที่ซับซ้อนสามารถกำหนดค่าได้อย่างง่ายดายโดยเพียงเลือกตัวเลือกสำหรับแต่ละฟิลด์ คุณสามารถตั้งกำหนดการโดยใช้นิพจน์ธรรมชาติ เช่น 'ทุกวันจันทร์เวลา 9 โมงเช้า'
ดูว่านิพจน์ cron ที่สร้างของคุณจะดำเนินการจริงเมื่อใดโดยดูเวลาทำงาน 5 ครั้งถัดไปที่กำหนดไว้แบบเรียลไทม์ ตรวจจับข้อผิดพลาดในการกำหนดค่าก่อนการปรับใช้
นิพจน์ cron ที่สร้างทำงานกับระบบที่เข้ากันได้กับ cron ทั้งหมด รวมถึง Linux crontab, Kubernetes CronJob, GitHub Actions, Docker, AWS EventBridge และอื่นๆ
ไม่จำเป็นต้องค้นหาเอกสารเพื่อตรวจสอบไวยากรณ์นิพจน์ cron ใช้ค่าที่ตั้งไว้ล่วงหน้าเพื่อกำหนดค่ากำหนดการทั่วไป (รายชั่วโมง รายวัน รายสัปดาห์ รายเดือน) ด้วยการคลิกเพียงครั้งเดียว
นิพจน์ Cron ไม่มีข้อมูลเขตเวลา เขตเวลาการดำเนินการขึ้นอยู่กับเวลาระบบของเซิร์ฟเวอร์หรือการกำหนดค่าคอนเทนเนอร์ สำหรับบริการคลาวด์ คุณมักจะต้องระบุการตั้งค่าเขตเวลาอย่างชัดเจน (เช่น GitHub Actions ใช้ UTC)
เมื่อทั้งฟิลด์วัน (ที่ 3) และฟิลด์วันในสัปดาห์ (ที่ 5) ถูกระบุ พวกเขาจะถูกปฏิบัติเป็นเงื่อนไข OR ตัวอย่าง: '15 10 1 * 1' หมายความว่า 'ที่ 10:15 ในวันที่ 1 ของทุกเดือน' หรือ 'ที่ 10:15 ทุกวันจันทร์'
ก่อนใช้กับการผลิต เราแนะนำให้ทำการทดสอบในช่วงเวลาสั้นๆ (เช่น ทุกนาที) เพื่อตรวจสอบพฤติกรรมที่คาดหวัง เปิดใช้งานเอาต์พุตล็อกเพื่อติดตามประวัติการดำเนินการ
ตั้งค่าการแจ้งเตือนสำหรับความล้มเหลวของงาน cron เสมอ (อีเมล Slack PagerDuty ฯลฯ) สิ่งนี้จำเป็นเป็นพิเศษสำหรับการดำเนินการที่สำคัญ เช่น การสำรองข้อมูลหรือการประมวลผลการชำระเงิน
นิพจน์ cron มาตรฐานใช้รูปแบบ 5 ฟิลด์และโดยทั่วไปพอดีภายใน 20 ตัวอักษร เครื่องมือนี้สามารถสร้างรูปแบบทั้งหมดของนิพจน์ cron 5 ฟิลด์ บางระบบรองรับรูปแบบ 6 ฟิลด์ (รวมวินาที) หรือ 7 ฟิลด์ (รวมปี) แต่เครื่องมือนี้รองรับรูปแบบ 5 ฟิลด์ที่ใช้กันอย่างแพร่หลายที่สุด
คุณสามารถใช้ในระบบใดๆ ที่รองรับนิพจน์ cron: Linux/Unix crontab, Kubernetes CronJob, GitHub Actions, GitLab CI/CD, AWS EventBridge, Google Cloud Scheduler, Docker (ofelia), Jenkins, CircleCI และอื่นๆ
ได้ คุณทำได้ เลือก '1,5' (จันทร์และศุกร์) ในฟิลด์วันในสัปดาห์ '9' ในฟิลด์ชั่วโมง และ '0' ในฟิลด์นาทีเพื่อสร้าง '0 9 * * 1,5'
นิพจน์ Cron ไม่มีข้อมูลเขตเวลา เวลาดำเนินการขึ้นอยู่กับเวลาระบบของเซิร์ฟเวอร์หรือคอนเทนเนอร์ที่รันงาน GitHub Actions ใช้ UTC, AWS ใช้เขตเวลาระดับภูมิภาค ฯลฯ ขึ้นอยู่กับแพลตฟอร์ม
ในกรณีส่วนใหญ่ พวกเขาทำงานเหมือนกัน ทั้งสองหมายถึง 'ทุก 5 นาที' แต่ '*/5' กระชับและอ่านง่ายกว่า ดังนั้นจึงแนะนำ
ระบุ '1-5' ในฟิลด์วันในสัปดาห์ นี่จะกำหนดเฉพาะวันจันทร์ถึงศุกร์เท่านั้น ตัวอย่าง: '0 9 * * 1-5' หมายถึง 9 โมงเช้าในวันทำงาน
หากนิพจน์ cron ไม่ถูกต้องหรือระบุเงื่อนไขที่หายากมาก (เช่น 30 กุมภาพันธ์) ไม่สามารถคำนวณเวลาดำเนินการถัดไปได้ โปรดตรวจสอบการกำหนดค่าของคุณ
ใช่ หากเขตเวลาของเซิร์ฟเวอร์เปิดใช้งานเวลาออมแสง เวลาดำเนินการ cron จะได้รับผลกระทบ ในระหว่างการเปลี่ยนแปลง DST งานอาจถูกข้ามหรือทำงานสองครั้ง สำหรับงานที่สำคัญ ให้พิจารณาการทำงานใน UTC
Test and debug regular expressions
Encode and decode Base64
Decode JWT tokens
Convert between 12-hour and 24-hour formats
UUID generator tool