วิธีดำเนินการ crontab ที่เวลาบูตระบบ

Withi Danein Kar Crontab Thi Wela But Rabb



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

วิธีกำหนดเวลาให้ crontab ดำเนินการในเวลาบูตระบบ

ระบบ Linux และ Unix มาพร้อมกับ cron ยูทิลิตี ซึ่งเป็นตัวกำหนดตารางเวลางานที่ทำให้ง่ายต่อการจัดกำหนดการงานบนไฟล์ crontab ยูทิลิตี้เดียวกันนี้มีให้สำหรับ macOS ไวยากรณ์สำหรับการจัดกำหนดการงานตามช่วงเวลาที่กำหนดไว้ด้านล่าง:

นาที ชั่วโมง วันของเดือน เดือน วันในสัปดาห์ [ สั่งการ ]







ตัวอย่างเช่น คุณสามารถใช้คำสั่งต่อไปนี้ หากคุณต้องการเรียกใช้สคริปต์สำรองทุกๆ 20 นาที ตั้งแต่เวลา 15:00 น. ถึง 16:00 น. รายวัน.



*/ ยี่สิบ สิบห้า - 16 * * * / เส้นทาง / ถึง / สำรอง.sh



คำสั่งก่อนหน้านี้ใช้งานได้เมื่อคุณต้องการรันงานในเวลาใดเวลาหนึ่ง แต่ถ้าคุณต้องการคำสั่งเดียวกันเพื่อรันหลังจากการบู๊ตทุกครั้ง





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

@ รีบูต / เส้นทาง / ถึง / สำรอง.sh



ในคำสั่งก่อนหน้านี้ the @reboot ระบุว่า cron ควรรันคำสั่งที่ระบุหลังจากการบู๊ตทุกครั้ง อีกครั้งเราต้องเพิ่มคำสั่งในไฟล์ crontab

ใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์ crontab และแก้ไขเพื่อเพิ่มงานใหม่ของเรา

crontab -และ

โปรดทราบว่าเรากำลังสร้างงานสำหรับผู้ใช้ปัจจุบัน หากคุณต้องการกำหนดเวลางานสำหรับผู้ใช้อื่น เช่น ผู้ใช้ที่ชื่อ linuxhint1 คำสั่งต่อไปนี้จะเป็น:

crontab -และ -ใน linuxhint1

เมื่อไฟล์ crontab เปิดขึ้น ให้เพิ่มคำสั่งที่บรรทัดล่างสุด บันทึกไฟล์และออก

นอกจากนี้ โปรดทราบว่าเรากำลังใช้ a นาโน ตัวแก้ไข ตัวแก้ไขของคุณอาจแตกต่างกัน แต่คำสั่งจะเหมือนกัน

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

อย่างไรก็ตาม คุณสามารถใช้คำสั่งต่อไปนี้เพื่อแสดงรายการงานที่กำหนดเวลาไว้

crontab -l

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

crontab -r

@reboot รันคำสั่งทันทีหลังจากเวลาบู๊ต อย่างไรก็ตาม คุณสามารถระบุช่วงเวลาพักเครื่องก่อนที่คำสั่งจะรัน ตัวอย่างเช่น หากคุณต้องการให้คำสั่งทำงานหลังจากบูต 10 นาที คุณต้องตั้งเวลาเป็นวินาที

คำสั่งก็จะเป็น

@ รีบูต นอน 600 / เส้นทาง / ถึง / สำรอง.sh

600 แทน 10 นาทีที่แสดงเป็นวินาที และ นอน เป็นตัวเลือกที่จะใช้เมื่อระบุเวลาก่อนดำเนินการ

ไฟล์ crontab ใหม่ของเราจะถูกตั้งค่าดังที่แสดงด้านล่าง:

ครั้งต่อไปที่คุณรีบู๊ตเซิร์ฟเวอร์ สคริปต์สำรองหรือคำสั่ง set จะทำงานหลังจากผ่านไป 10 นาที

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

sudo สถานะ systemctl cron.service

คุณดีไปถ้าคุณได้รับผลลัพธ์เช่นผลลัพธ์ต่อไปนี้:

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

sudo systemctl เปิดใช้งาน cron.service

แค่นั้นแหละ. คำสั่งของคุณจะดำเนินการในเวลาบูต

บทสรุป

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