ความแตกต่างระหว่างครอนและครอนด์คืออะไร? เรียนรู้เคล็ดลับฟังก์ชั่นต่างๆ ใน ​​1 นาที

คุณอยู่ที่นั่นไหม ลินุกซ์ กำหนดค่างานที่กำหนดเวลาไว้บนระบบ แต่รู้สึกสับสนระหว่าง "cron" และ "crond" หรือไม่?

ใช่แล้ว หลายคนคงสงสัยว่า:“ทั้งสองมีความแตกต่างกันอย่างไร?” แม้ว่าพวกมันจะดูเหมือนฝาแฝด แต่เมื่อตรวจสอบอย่างใกล้ชิดแล้ว ก็มีความแตกต่างที่ละเอียดอ่อนแต่สำคัญระหว่างพวกมัน

บทความนี้จะพาคุณเจาะลึกถึงคุณลักษณะเฉพาะและหลักการทำงาน

ครอนคืออะไร?

ให้เราเริ่มต้นด้วย cron ก่อนอื่นชื่อนี้จะต้องคุ้นเคยกับคุณ

cron จริงๆ แล้วเป็นทั้งชุดของ ระบบกำหนดเวลางานตามกำหนดการซึ่งมีชื่อมาจากรากศัพท์ภาษากรีก”chronos” แปลว่า เวลา

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

ตัวอย่างเช่น คุณสามารถกำหนดเวลาให้สคริปต์สำรองข้อมูลดำเนินการทุกเช้า ตรวจสอบสถานะของระบบทุกชั่วโมง เป็นต้น

ความแตกต่างระหว่างครอนและครอนด์คืออะไร? เรียนรู้เคล็ดลับฟังก์ชั่นต่างๆ ใน ​​1 นาที

ฟังก์ชั่นหลักครอน

หน้าที่หลักของ cron คือการทำให้การจัดการและการทำงานของระบบเป็นแบบอัตโนมัติ งานเหล่านี้มักเรียกว่า "งานที่กำหนดไว้” หรือ “งานที่กำหนดเวลาไว้”

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

ก็สามารถพูดได้ว่าcron เป็น "ผู้วางแผน" สำหรับการกำหนดเวลางานที่กำหนดเวลาไว้มีหน้าที่กำหนดตารางเวลาการทำงานทั้งหมด

ใช้คำสั่ง crontab

ในระบบ Linux ระบบ cron ประกอบด้วย crontab สั่งให้จัดการ. ผ่าน crontab คำสั่งคุณสามารถเพิ่ม แก้ไข และลบงานที่กำหนดเวลาไว้ได้

使用 crontab -e คำสั่งเพื่อเข้าสู่โหมดแก้ไขคุณสามารถเพิ่มงานที่คุณต้องการดำเนินการในตาราง cron ได้โดยมีรูปแบบดังนี้:

* * * * * /path/to/command

สัญลักษณ์ "*" แต่ละตัวแสดงถึงหน่วยเวลาที่แตกต่างกัน เช่น นาที ชั่วโมง วัน เดือน และสัปดาห์ ด้วยการกำหนดค่าเวลาเหล่านี้ คุณสามารถควบคุมได้ว่างานต่างๆ จะดำเนินการเมื่อใด

ครอนด์คืออะไร?

ตอนนี้เราเข้าใจแนวคิดของ cron แล้ว มาดูกันดีกว่า cron- นี่คือ "ฮีโร่ผู้อยู่เบื้องหลัง" ของระบบ cron

crond ใช้สำหรับระบบ cron ภูตเป็นโปรแกรมที่ทำงานอย่างต่อเนื่องในพื้นหลังและมีหน้าที่ตรวจสอบเวลาของระบบและดำเนินการงานที่ระบบ cron กำหนดไว้

ความรับผิดชอบของครอนด์

กระบวนการ crond จะเริ่มต้นโดยอัตโนมัติเมื่อระบบเริ่มทำงานและทำงานอยู่เบื้องหลังเสมอ หน้าที่เดียวคือดำเนินการงานในไฟล์ crontab ตามเวลาที่กำหนด

ก็สามารถพูดได้ว่าcrond คือ "ตัวดำเนินการ" ของระบบ cron.

หากไม่มีกระบวนการ crond ระบบ cron จะสูญเสียความสามารถในการดำเนินงานตามกำหนดเวลา

ในระบบ Linux คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่ากระบวนการ crond กำลังทำงานอยู่หรือไม่:

ps -ef | grep crond

หากกระบวนการ crond ไม่ทำงาน งานที่กำหนดเวลาไว้ทั้งหมดจะไม่ถูกดำเนินการ ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องทำให้กระบวนการ crond ทำงานตามปกติ

ความสัมพันธ์ระหว่าง cron และ crond: บริการและผู้ดำเนินการ

เพื่อให้เข้าใจความสัมพันธ์ระหว่าง cron และ crond ได้ดีขึ้น เราสามารถใช้ aชีวิตตัวอย่างใน.

ลองนึกภาพ: คุณมีคนชื่อ "หนังสือสีแดงเล็ก ๆ” ซึ่งเป็นระบบขนาดใหญ่ที่ให้ผู้ใช้สามารถดูและเผยแพร่เนื้อหาในเวลาที่กำหนด

เบื้องหลังแอปพลิเคชันนี้มีโปรแกรมชื่อ "Xiaohong Guardian" ซึ่งทำหน้าที่เผยแพร่เนื้อหาในเบื้องหลังโดยอัตโนมัติ

cron เปรียบเสมือน "หนังสือสีแดงเล่มเล็ก" และ crond ก็คือ "ผู้พิทักษ์ตัวน้อยสีแดง"

เพื่อสรุปความแตกต่างระหว่าง cron และ crond:

  • cron: รับผิดชอบในการกำหนดและจัดการตารางงานและเป็น "สมอง" ของการจัดกำหนดการงาน
  • cron: กระบวนการ daemon พื้นหลังซึ่งเป็น "ผู้ดำเนินการ" ของงานที่กำหนดเวลาไว้และดำเนินการงานตามกำหนดเวลาในตาราง cron

เมื่อมองเช่นนี้ cron คือระบบโดยรวม และ crond คือกระบวนการที่ดำเนินงานบนระบบ

ไฟล์ crontab: รายการงาน cron

รากฐานการดำเนินการของระบบ cron นั้นแยกออกไม่ได้ ไฟล์ crontabซึ่งเป็นที่ที่ระบบ cron จัดเก็บตารางเวลางาน

ผู้ใช้แต่ละคน (รวมถึงผู้ใช้รูท) สามารถมีไฟล์ crontab อิสระของตนเองเพื่อจัดการงานที่กำหนดเวลาไว้ของตนเอง

เราสามารถใช้ crontab -l คำสั่งเพื่อดูรายการงานของผู้ใช้ปัจจุบันหรือใช้ crontab -e เพื่อแก้ไขงาน

ไวยากรณ์ไฟล์ crontab

ในไฟล์ crontab แต่ละบรรทัดแสดงถึงงาน และรูปแบบของแต่ละบรรทัดมีดังนี้:

分钟 小时 日期 月份 星期 命令

ตัวอย่างเช่น งานต่อไปนี้แสดงถึงการรันสคริปต์สำรองข้อมูลเวลา 2 น. ทุกวัน:

0 2 * * * /usr/local/bin/backup.sh

ตัวอย่างง่ายๆ นี้แสดงให้เห็นถึงความสามารถอัตโนมัติอันทรงพลังของระบบ cron

cron และ crond: การทำงานร่วมกันเบื้องหลังของพวกเขา

ในการดำเนินการจริงของระบบ cron และ crond จะแยกกันไม่ออก cron มีหน้าที่ในการสร้างและจัดการตารางเวลางาน ในขณะที่ crond ติดตามเวลาอย่างต่อเนื่องและรับรองว่างานต่างๆ ได้รับการดำเนินการตามเวลาที่กำหนด

เมื่อใดก็ตามที่ระบบถึงเวลางานที่กำหนดไว้ล่วงหน้า crond จะ "ตื่น" และดำเนินการงาน

ทำไมเราถึงต้องการ crand daemon?

การมีอยู่ของ crond ช่วยให้มั่นใจได้ว่างานจะดำเนินการตรงเวลา โดยจะเริ่มโดยอัตโนมัติทุกครั้งที่ระบบเริ่มทำงานและทำงานต่อไป

หาก crond หยุดทำงาน งานทั้งหมดในระบบ cron จะไม่สามารถดำเนินการได้ ดังนั้นการทำงานปกติของ crond daemon จึงมีความสำคัญอย่างยิ่งต่อการจัดการระบบแบบอัตโนมัติ

สถานการณ์การใช้งานในการจัดการระบบรายวัน

การรวมกันของ cron และ crond ถูกนำมาใช้กันอย่างแพร่หลายในการจัดการระบบ โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมเซิร์ฟเวอร์ ต่อไปนี้เป็นสถานการณ์สมมติของแอปพลิเคชันทั่วไปบางส่วน:

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

ความเข้าใจผิดระหว่าง cron และ crond: คำถามและคำตอบที่พบบ่อย

เหตุใดงาน cron จึงไม่ดำเนินการ?

หลายๆ คนจะพบว่างาน cron ที่พวกเขาตั้งไว้ไม่ได้รับการดำเนินการตามที่คาดไว้ สาเหตุอาจมีดังต่อไปนี้:

  1. กระบวนการ crond ยังไม่เริ่มต้น: โปรดตรวจสอบให้แน่ใจว่า crond ทำงานตามปกติ
  2. ข้อผิดพลาดในการกำหนดค่างาน: ตรวจสอบว่าไวยากรณ์ของไฟล์ crontab ถูกต้องหรือไม่
  3. ปัญหาเส้นทาง: ตรวจสอบให้แน่ใจว่าคำสั่งและเส้นทางสคริปต์ที่ระบุถูกต้อง

จะรีสตาร์ทกระบวนการ crond ได้อย่างไร?

หากกระบวนการ crond ผิดปกติ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อรีสตาร์ทได้:

sudo service crond restart

คำสั่งนี้จะรีสตาร์ทบริการ crond เพื่อให้แน่ใจว่างานทั้งหมดทำงานได้ตามปกติ

สรุป: สิ่งที่ขาดไม่ได้ของ cron และ crond

ความร่วมมือที่สมบูรณ์แบบระหว่าง cron และ crond ช่วยให้ระบบ Linux รันงานโดยอัตโนมัติโดยไม่ต้องมีการแทรกแซงของมนุษย์ ซึ่งช่วยปรับปรุงความสามารถในการจัดการอัตโนมัติของระบบอย่างมาก

cron ทำหน้าที่เป็นระบบกำหนดเวลาในการวางแผน และ crond ทำหน้าที่เป็นกระบวนการ daemon ที่รับผิดชอบในการดำเนินงาน

อาจกล่าวได้ว่าทั้งสองเสริมซึ่งกันและกันและร่วมกันสร้างระบบการจัดการงานอัตโนมัติที่ทรงพลังและยืดหยุ่น

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

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

cron และ crond เป็นพันธมิตรที่ดีที่ผู้ดูแลระบบ Linux ทุกคนต้องมี

หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แบ่งปันว่า "cron และ crond แตกต่างกันอย่างไร" เรียนรู้เคล็ดลับฟังก์ชั่นต่างๆ ใน ​​1 นาที" จะช่วยคุณได้

ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-32188.html

หากต้องการปลดล็อคเคล็ดลับที่ซ่อนอยู่เพิ่มเติม ยินดีต้อนรับเข้าร่วมช่อง Telegram ของเรา!

แชร์และกดไลค์ถ้าคุณชอบ! การแชร์และการถูกใจของคุณคือแรงบันดาลใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注

เลื่อนไปที่ด้านบน