Contents

4 วิธีในการตรวจสอบว่า cron ทำงานบน Linux หรือไม่

cron เป็นตัวกำหนดเวลางานสำหรับระบบปฏิบัติการ Linux และ Unix มีการติดตั้งไว้ล่วงหน้าบน Linux ทุกรุ่น และเหมาะสมที่สุดสำหรับงานอัตโนมัติที่ซ้ำกัน

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

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

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

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

มีการใช้งาน Cron หลายอย่างสำหรับระบบ Linux โดยมีความพร้อมใช้งานขึ้นอยู่กับการแจกจ่ายเฉพาะ ตัวอย่างเช่น “Vixie cron” ที่ใช้กันอย่างแพร่หลาย ซึ่งใช้ชื่อมาจากผู้สร้าง Paul Vixie นั้นแพร่หลายและทำหน้าที่เป็นตัวเลือกเริ่มต้นสำหรับการเผยแพร่ เช่น Debian และ Ubuntu ในทางกลับกัน ระบบปฏิบัติการ Arch เลือกที่จะใช้ตัวจับเวลา systemd แทนการนำ Cron แบบดั้งเดิมไปใช้

Cronie เป็นการใช้งานทางเลือกอื่นของยูทิลิตี้การตั้งเวลา cron ของ Vixie ซึ่งสามารถรับได้อย่างง่ายดายผ่านที่เก็บแพ็คเกจ Arch Linux โดยใช้ตัวจัดการแพ็คเกจ Pacman ในการติดตั้ง Cronie บนระบบของคุณ คุณอาจดำเนินการคำสั่ง “pacman-S cronie” ภายในเทอร์มินัลหรือสภาพแวดล้อมเชลล์ของคุณ

 sudo pacman -S cronie 

จากนั้นเริ่มต้นและเปิดใช้งานด้วย:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service 

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

 man cron 

วิธีตรวจสอบว่า cron ทำงานบน Linux หรือไม่

เพื่อตรวจสอบว่ายูทิลิตี้ cron ทำงานอย่างถูกต้องหรือไม่ มีหลายวิธีในการตรวจสอบ

ตรวจสอบสถานะบริการ cron บน Linux

เพื่อตรวจสอบว่าบริการ cron ทำงานอย่างถูกต้องหรือไม่ เราสามารถใช้คำสั่ง Linux พื้นฐานจากเทอร์มินัลได้ หากต้องการเข้าถึงเทอร์มินัล ให้กด “Ctrl + Alt + T” บนแป้นพิมพ์ จากนั้นใช้คำสั่ง “systemctl” เพื่อประเมินสถานะของ cron

 sudo systemctl status cron 

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

/th/images/cron-status.jpg

อย่างไรก็ตาม จะเกิดอะไรขึ้นเมื่อ Cron อยู่ในสถานะสงบนิ่ง ดังภาพด้านล่าง?

/th/images/cron-stopped.jpg

คุณสามารถเริ่มบริการได้ดังนี้:

 sudo systemctl start cron.service 

เพื่อให้แน่ใจว่าบริการ cron เริ่มต้นโดยอัตโนมัติเมื่อระบบรีสตาร์ท ให้ทำตามขั้นตอนเหล่านี้หลังจากเริ่มการทำงาน:

 sudo systemctl enable cron.service 

ตรวจสอบบันทึก cron บน Linux

อีกวิธีหนึ่งในการตรวจสอบว่า cron daemon ทำงานอย่างถูกต้องเกี่ยวข้องกับการตรวจสอบไฟล์บันทึกที่เกี่ยวข้อง ซึ่งโดยทั่วไปจะพบได้ในไดเร็กทอรี/var/log/syslog บนระบบ Linux

Syslog เป็นโปรโตคอลการสื่อสารมาตรฐานที่ใช้โดยระบบที่ใช้ Linux เพื่อรวบรวมข้อมูลบันทึกเหตุการณ์ไว้ในที่เก็บข้อมูลส่วนกลาง การรวมบันทึกนี้ช่วยอำนวยความสะดวกในการดำเนินงานด้าน IT ที่จำเป็นต่างๆ เช่น การดำเนินการตรวจสอบ การใช้เทคนิคการติดตามและการประเมินประสิทธิภาพ การแก้ไขปัญหาด้วยความพยายามในการแก้ไขปัญหา การสร้างรายงาน และการดำเนินการกิจกรรมการบำรุงรักษาอื่นๆ ที่เกี่ยวข้อง

ในการเข้าถึงบันทึกของระบบที่มีบันทึกงาน cron คุณอาจดำเนินการคำสั่งเฉพาะดังต่อไปนี้:

 grep 'cron' /var/log/syslog 

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

/th/images/cron-logs.jpg

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

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

เปิดไฟล์ต่อไปนี้โดยใช้นาโน:

 nano /etc/rsyslog.d/50-default.conf 

ค้นหาบรรทัดที่ขึ้นต้นด้วย:

 #cron.* 

โปรดลบสัญลักษณ์ “#” ออกจากบรรทัดต่อไปนี้เพื่อยกเลิกการใส่เครื่องหมายข้อคิดเห็น และปฏิบัติตามคำแนะนำในภายหลังเพื่อบันทึกและออกจากไฟล์โดยใช้แป้นพิมพ์ลัดที่ระบุ

หากต้องการรีสตาร์ทบริการ rsyslog คุณสามารถดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลหรือพร้อมรับคำสั่งของคุณ: csssudo systemctl รีสตาร์ท rsyslog.service

 sudo service rsyslog restart 

ไฟล์บันทึกสำหรับงานตามกำหนดเวลาจะถูกจัดเก็บไว้ในไดเร็กทอรี /var/log โดยเฉพาะภายในไฟล์ cron.log

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

รันงาน cron บน Linux

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

ในการรันชุดคำสั่งอย่างต่อเนื่อง จำเป็นต้องเขียนสคริปต์ Bash ซึ่งช่วยให้สามารถทำกิจกรรมซ้ำ ๆ ภายในระบบปฏิบัติการ Linux โดยอัตโนมัติผ่านเทคนิคการเขียนโปรแกรม

ในการสร้างไฟล์ข้อความที่ยืนยันการทำงานของงานที่กำหนดเวลาไว้ในรูปแบบของสคริปต์ Bash เราจะเริ่มกระบวนการโดยการกำหนดไดเร็กทอรีการทำงานปัจจุบันผ่านการดำเนินการของคำสั่งเฉพาะ

 pwd 

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

 touch file.txt 

หลังจากนี้ ขอแนะนำให้สร้างสคริปต์ Bash โดยใช้โปรแกรมแก้ไขข้อความ Nano

 nano script.sh 

เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt 

/th/images/bash-file-1.jpg

โปรดตรวจสอบให้แน่ใจว่าคุณระบุตำแหน่งที่ถูกต้องของไฟล์ข้อความที่สร้างขึ้น สรุปงานของคุณโดยกด"Ctrl + X"ตามด้วย"Y"จากนั้นกดปุ่ม"Enter"บนแป้นพิมพ์

ให้สิทธิ์ดำเนินการกับสคริปต์ Bash:

 chmod \+x script.sh 

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

 crontab -e 

ในตอนท้ายของเอกสารนี้ กรุณาใส่ข้อความต่อไปนี้

 * * * * * /path/to/script.sh 

วันหมดอายุของรายการการกำหนดค่าจะแสดงด้วยเครื่องหมายดอกจันห้าดวง โดยแต่ละเครื่องหมายดอกจันจะสอดคล้องกับแง่มุมต่างๆ ของความถูกต้อง โดยเฉพาะอย่างยิ่ง เครื่องหมายดอกจันอันแรกหมายถึงนาที (ตั้งแต่ 0 ถึง 59) ในขณะที่เครื่องหมายดอกจันอันที่สองหมายถึงชั่วโมง (แสดงถึงรอบเวลาแบบ 24 ชั่วโมงเต็ม โดยเวลา 13.00 น. ตรงกับ 13.00 น. และเที่ยงคืนเริ่มที่ 0) เครื่องหมายดอกจันที่สามเป็นสัญลักษณ์ของวันในสัปดาห์ ตั้งแต่ 0 ถึง 6 โดยที่ทั้ง 0 และ 6 หมายถึงวันอาทิตย์ เครื่องหมายดอกจันที่สี่หมายถึงเดือน ซึ่งครอบคลุมตั้งแต่ 0 ถึง 7 โดย 0 หมายถึงเดือนมกราคม และ 7 คือเดือนกรกฎาคม สุดท้าย เครื่องหมายดอกจันที่ 5 หมายถึงปี

ไฟล์ประกอบด้วยข้อมูลเกี่ยวกับชื่อไฟล์และเส้นทางไดเรกทอรีที่เกี่ยวข้อง

เมื่อเสร็จสิ้นภารกิจในการบันทึกและปิดเอกสาร ผู้ใช้อาจเห็นการแจ้งเตือนที่แสดงภายในอินเทอร์เฟซบรรทัดคำสั่ง ซึ่งอ่านว่า “ติดตั้งงาน cron แล้ว”

หากต้องการตรวจสอบว่างานที่กำหนดเวลาไว้ได้รับการดำเนินการสำเร็จหรือไม่ ให้ไปที่ตำแหน่งที่เก็บ"file.txt"และแสดงเนื้อหาบนคอนโซลโดยใช้คำสั่ง"cat"

 cat file.txt 

/th/images/bash-output.jpg

นี่แสดงว่า cron ทำงานได้ดี

ตรวจสอบกระบวนการทำงานบน Linux

อีกวิธีหนึ่งในการตรวจสอบว่า cron daemon ทำงานอย่างมีประสิทธิภาพเกี่ยวข้องกับการตรวจสอบรายการกระบวนการที่ใช้งานอยู่ในปัจจุบันภายในระบบปฏิบัติการ ซึ่งสามารถทำได้โดยใช้คำสั่ง “ps” ซึ่งแสดงข้อมูลเกี่ยวกับกระบวนการที่ทำงานอยู่ทั้งหมด ในการแจกแจงดังกล่าว cron daemon จะปรากฏภายใต้ชื่อ"crond

 ps aux | grep cron 

/th/images/crond-process.jpg

การตรวจสอบข้างต้นยืนยันการทำงานของกระบวนการ cron ภายในระบบปฏิบัติการ Linux ของคุณ

อัตโนมัติและกำหนดเวลางานระบบด้วย cron

Cron เป็นยูทิลิตี้ที่สำคัญในระบบปฏิบัติการ Linux ซึ่งช่วยให้สามารถทำงานได้อย่างเหมาะสมที่สุด ในบางครั้ง เมื่อแก้ไขปัญหาของระบบ อาจจำเป็นต้องตรวจสอบว่า Cron ทำงานอยู่หรือไม่

เพื่อตรวจสอบว่าบริการ cron ทำงานอย่างถูกต้องหรือไม่ มีหลายวิธีให้เลือก ทางเลือกหนึ่งเกี่ยวข้องกับการตรวจสอบไฟล์บันทึกของกิจกรรม cron ผ่านการใช้ยูทิลิตี้บรรทัดคำสั่ง เช่น “log” หรือ “grep” นอกจากนี้ เราอาจดูรายการกระบวนการที่ทำงานอยู่ในระบบด้วยเครื่องมือเช่น “ps” หรือ “top” ซึ่งจะแสดงข้อมูลเกี่ยวกับงานที่กำหนดเวลาไว้ที่กำลังดำเนินการอยู่ในปัจจุบัน นอกจากนี้ ยูทิลิตี้ที่เรียกว่า “systemctl” ยังสามารถใช้เพื่อตรวจสอบสถานะการทำงานของ cron โดยการสังเกตสถานะปัจจุบัน สุดท้ายนี้ การพยายามรันงานทดสอบ cron สามารถให้ข้อมูลเชิงลึกว่างานนั้นใช้งานได้และสามารถทำงานได้ตามที่ตั้งใจไว้หรือไม่

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