ครอน

เลือกและซื้อผู้รับมอบฉันทะ

Cron เป็นบริการจัดตารางงานตามเวลาที่พบในระบบปฏิบัติการแบบ Unix ผู้ใช้กำหนดเวลางาน (คำสั่งหรือสคริปต์) เพื่อให้ทำงานเป็นระยะตามเวลา วันที่ หรือช่วงเวลาที่กำหนด

ต้นกำเนิดและประวัติศาสตร์ตอนต้นของครอน

การใช้งานครั้งแรกของ cron ย้อนกลับไปในเวอร์ชัน 7 Unix คำว่า "ครอน" มาจากคำภาษากรีกที่แปลว่าเวลา "โครโนส" Unix เวอร์ชันนี้เปิดตัวในปี 1979 มีโปรแกรม cron ธรรมดาที่รันงานตามช่วงเวลาที่กำหนด ฟังก์ชันของ Cron ได้รับการขยายในภายหลังโดย Paul Vixie ในปี 1987 เวอร์ชันนี้เรียกว่า Vixie Cron เป็นเวอร์ชันที่มีการติดตั้งบ่อยที่สุดในปัจจุบัน และเป็นเวอร์ชันที่คนทั่วไปพูดถึงเมื่อมีคนพูดถึง "Cron"

การขยายแนวคิดของ Cron

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

ผู้ใช้แต่ละคนสามารถมี crontab ของตนเองได้ และแม้ว่าไฟล์เหล่านี้จะเป็นไฟล์ใน /var/spool/ แต่ก็ไม่ได้ตั้งใจให้แก้ไขโดยตรง ไวยากรณ์ของนิพจน์ cron สามารถแบ่งออกเป็นสองประเภทหลักๆ ของไวยากรณ์: ไวยากรณ์ cron ของ Unix และไวยากรณ์ที่ซับซ้อนมากขึ้นที่เรียกว่า ไวยากรณ์นิพจน์ cron หรือไวยากรณ์ cron ควอตซ์

โครงสร้างภายในของ Cron และวิธีการทำงาน

Cron ทำงานบนพื้นฐานของไฟล์กำหนดค่าที่เรียบง่ายแต่ทรงพลังที่เรียกว่าไฟล์ “crontab” ไฟล์นี้ประกอบด้วยหนึ่งบรรทัดสำหรับแต่ละงานที่จะรัน ประกอบด้วยฟิลด์เวลาและวันที่ห้าฟิลด์ ตามด้วยคำสั่งที่จะรันตามเวลาที่กำหนด

ห้าฟิลด์แสดงถึง:

  1. นาทีหลังชั่วโมง (0 – 59)
  2. ชั่วโมงในหนึ่งวัน (0 – 23)
  3. วันในหนึ่งเดือน (1 – 31)
  4. เดือนในหนึ่งปี (1 – 12)
  5. วันในสัปดาห์ (0 – 7 โดยที่ 0 และ 7 คือวันอาทิตย์)

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

คุณสมบัติที่สำคัญของครอน

คุณสมบัติหลักของ Cron ได้แก่ :

  1. ช่วยให้งานทำงานโดยอัตโนมัติในพื้นหลังตามช่วงเวลาที่สม่ำเสมอ
  2. มีแพลตฟอร์มที่ยืดหยุ่นในการกำหนดเวลางาน (สคริปต์หรือคำสั่ง) ด้วยหน่วยเวลาที่หลากหลาย
  3. ผู้ใช้แต่ละคนสามารถมีไฟล์ crontab ของตนเองได้
  4. งาน Cron สามารถกำหนดเวลาให้รันเป็นนาที ชั่วโมง วันในสัปดาห์ วันของเดือน และเดือนของปีได้
  5. Cron มอบวิธีที่ง่ายและมีประสิทธิภาพในการทำให้งานของระบบต่างๆ เป็นแบบอัตโนมัติ

ประเภทของครอน

งาน Cron โดยทั่วไปสามารถแบ่งได้ดังนี้:

พิมพ์ คำอธิบาย
รีบูต ทำงานหนึ่งครั้งเมื่อเริ่มต้น
อนาครอน ทำงานตามช่วงเวลาที่ระบุเป็นวัน
ระบบครอน เก็บไว้ใน /etc/crontab และในไดเร็กทอรี /etc/cron.d/ สิ่งเหล่านี้มีวัตถุประสงค์เพื่อให้ทั่วทั้งระบบ
ผู้ใช้ครอน ผู้ใช้แต่ละคนสามารถมีของตนเองได้ และจะถูกจัดเก็บไว้ใน /var/spool/cron/crontabs/

การใช้งาน Cron ปัญหา และแนวทางแก้ไข

Cron มีประโยชน์สำหรับงานอัตโนมัติ แต่อาจทำให้เกิดปัญหาได้หากไม่ได้ใช้อย่างระมัดระวัง ตัวอย่างเช่น งาน cron ที่กำหนดค่าไม่ถูกต้องอาจทำให้มีการใช้งาน CPU สูง นอกจากนี้ cron จะส่งอีเมลเฉพาะผลลัพธ์ของงาน (ถ้ามี) ไปยังผู้ใช้ที่รันงานนั้นด้วย ซึ่งอาจทำให้เกิดข้อผิดพลาดที่พลาดได้หากไม่ได้ตรวจสอบเป็นประจำ

วิธีแก้ไขปัญหาทั่วไปสำหรับปัญหาเหล่านี้ ได้แก่:

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

การเปรียบเทียบกับเครื่องมือที่คล้ายกัน

มีตัวกำหนดเวลางานอื่นๆ ที่คล้ายกับ cron เช่น anacron และ systemd timers ความแตกต่างหลักระหว่างสิ่งเหล่านี้สามารถสรุปได้ดังนี้:

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

มุมมองในอนาคตและเทคโนโลยีที่เกี่ยวข้อง

เนื่องจากระบบที่ใช้ Unix มีการพัฒนาอย่างต่อเนื่อง Cron ก็เช่นกัน แม้จะมีตัวกำหนดเวลางานขั้นสูงเช่น systemd ขึ้นมา แต่ความเรียบง่ายและประสิทธิภาพของ Cron ทำให้มั่นใจได้ว่าจะยังคงใช้อยู่ทั่วไปในปัจจุบัน

แนวโน้มล่าสุดเกี่ยวกับแอปพลิเคชันแบบคอนเทนเนอร์และสถาปัตยกรรมไมโครเซอร์วิสได้นำมาซึ่งวิธีใหม่ๆ ในการใช้ Cron ตัวอย่างเช่น Kubernetes ซึ่งเป็นแพลตฟอร์มการจัดการคอนเทนเนอร์ยอดนิยม มีฟีเจอร์ที่เรียกว่า CronJobs ซึ่งคล้ายกับ Cron ในระบบที่ใช้ Unix

พร็อกซีเซิร์ฟเวอร์และ Cron

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

Cron ยังสามารถใช้เพื่อหมุนพร็อกซีตามช่วงเวลาที่กำหนด ซึ่งช่วยลดโอกาสที่พร็อกซีตัวใดตัวหนึ่งจะถูกบล็อก ตัวอย่างเช่น บริการพร็อกซีของ OneProxy สามารถทำงานอัตโนมัติด้วย Cron สำหรับงานต่างๆ เช่น การขูดข้อมูล การทำงานโซเชียลมีเดียอัตโนมัติ และอื่นๆ

ลิงก์ที่เกี่ยวข้อง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Cron โปรดพิจารณาแหล่งข้อมูลต่อไปนี้:

คำถามที่พบบ่อยเกี่ยวกับ Cron: คู่มือฉบับสมบูรณ์

Cron เป็นบริการจัดตารางเวลางานตามเวลาที่พบในระบบปฏิบัติการที่มีลักษณะคล้าย Unix ซึ่งช่วยให้ผู้ใช้สามารถกำหนดให้งานทำงานโดยอัตโนมัติเป็นระยะ ๆ ตามเวลา วันที่ หรือช่วงเวลาที่กำหนด

การใช้งานครั้งแรกของ Cron ย้อนกลับไปในเวอร์ชัน 7 Unix ซึ่งเปิดตัวในปี 1979 คำว่า "cron" มาจากคำภาษากรีกสำหรับเวลา "chronos" ฟังก์ชันของ Cron ได้รับการขยายในภายหลังโดย Paul Vixie ในปี 1987 โดยเวอร์ชันนี้เรียกกันทั่วไปว่า "Cron" ในปัจจุบัน

Cron ทำงานผ่านไฟล์กำหนดค่าที่เรียกว่าไฟล์ "crontab" ไฟล์นี้ประกอบด้วยหนึ่งบรรทัดสำหรับแต่ละงานที่จะรัน ประกอบด้วยฟิลด์เวลาและวันที่ห้าฟิลด์ ตามด้วยคำสั่งที่จะรันตามเวลาที่ระบุ

Cron อนุญาตให้งานทำงานโดยอัตโนมัติในพื้นหลังตามช่วงเวลาปกติ มีแพลตฟอร์มที่ยืดหยุ่นในการกำหนดเวลางานด้วยหน่วยเวลาที่หลากหลาย ผู้ใช้แต่ละคนสามารถมีไฟล์ crontab ของตนเองได้ และสามารถกำหนดเวลางาน Cron ได้ตามนาที ชั่วโมง วันในสัปดาห์ วันของเดือน และเดือนของปี

โดยทั่วไปงาน Cron สามารถแบ่งได้เป็น Reboot, Anacron, System Cron และ User Cron

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

Cron เหมาะสำหรับงานที่ต้องรันตามเวลาที่กำหนดและไม่รันงานที่พลาด ในทางตรงกันข้าม Anacron เหมาะสำหรับงานที่จะรันวันละครั้ง/สัปดาห์/เดือน และจะรันงานที่ไม่ได้รับเมื่อเครื่องกลับมาออนไลน์อีกครั้ง Systemd นำเสนอทางเลือกที่มากกว่าและทำงานร่วมกับ Linux รุ่นใหม่ได้ดี ทำให้เหมาะสำหรับสถานการณ์ที่ซับซ้อนมากขึ้น

เมื่อระบบที่ใช้ Unix พัฒนาขึ้น Cron ก็เช่นกัน แนวโน้มของแอปพลิเคชันแบบคอนเทนเนอร์และสถาปัตยกรรมไมโครเซอร์วิสได้นำเสนอวิธีใหม่ในการใช้ Cron เช่น ฟีเจอร์ของ Kubernetes ที่รู้จักกันในชื่อ CronJobs

สามารถใช้พร็อกซีเซิร์ฟเวอร์กับ Cron เพื่อทำงานอัตโนมัติ เช่น การเข้าถึงเว็บไซต์หรือ API ผ่านพร็อกซีเซิร์ฟเวอร์ตามช่วงเวลาที่กำหนด Cron ยังสามารถใช้เพื่อหมุนพรอกซีตามช่วงเวลา ซึ่งช่วยลดโอกาสที่พร็อกซีตัวใดตัวหนึ่งจะถูกบล็อก

พร็อกซีดาต้าเซ็นเตอร์
พรอกซีที่ใช้ร่วมกัน

พร็อกซีเซิร์ฟเวอร์ที่เชื่อถือได้และรวดเร็วจำนวนมาก

เริ่มต้นที่$0.06 ต่อ IP
การหมุนพร็อกซี
การหมุนพร็อกซี

พร็อกซีหมุนเวียนไม่จำกัดพร้อมรูปแบบการจ่ายต่อการร้องขอ

เริ่มต้นที่$0.0001 ต่อคำขอ
พร็อกซีส่วนตัว
พร็อกซี UDP

พร็อกซีที่รองรับ UDP

เริ่มต้นที่$0.4 ต่อ IP
พร็อกซีส่วนตัว
พร็อกซีส่วนตัว

พรอกซีเฉพาะสำหรับการใช้งานส่วนบุคคล

เริ่มต้นที่$5 ต่อ IP
พร็อกซีไม่จำกัด
พร็อกซีไม่จำกัด

พร็อกซีเซิร์ฟเวอร์ที่มีการรับส่งข้อมูลไม่จำกัด

เริ่มต้นที่$0.06 ต่อ IP
พร้อมใช้พร็อกซีเซิร์ฟเวอร์ของเราแล้วหรือยัง?
ตั้งแต่ $0.06 ต่อ IP