นี่คือ บทความที่สอง จากชุดที่เราใช้รายการสิ่งที่คริสตจักรคาทอลิกเรียกว่า "บาปมหันต์" เป็นข้ออ้างในการคเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งและโปรแกรมของโลก Linux ในกรณีนี้ เรายังคงพูดถึงการใช้ cron ซึ่งจะมีประโยชน์มากสำหรับผู้ที่ปลูกฝังความเกียจคร้าน
เนื่องจากเราอยู่ในยุคของคนที่โกรธเคืองง่าย ขอชี้แจงก่อนเข้าเรื่องว่า ข้าพเจ้าไม่ได้ตั้งใจจะล้อเลียนความเชื่อทางศาสนาของใครก็ตาม ไม่ว่าในกรณีใดมันเป็นการเยาะเย้ยตนเอง ฉันใช้เวลาส่วนใหญ่ในช่วงทศวรรษ XNUMX ในการศึกษาคำสอนเพื่อที่ว่าหลังจากรับศีลมหาสนิทครั้งแรกแล้ว ฉันไม่เคยไปโบสถ์อีกเลย เว้นแต่งานครอบครัวบางอย่างจะกำหนดให้ต้องทำ ฉันต้องทวงเวลานั้นกลับคืนมา
cron และ crontab มีไว้เพื่ออะไร?
เราได้กล่าวว่า cron เป็น daemon นั่นคือ โปรแกรมที่ทำงานอยู่เบื้องหลังโดยที่ผู้ใช้ไม่ต้องดำเนินการใดๆ เมื่อค้นหาข้อมูลเพิ่มเติมสำหรับบทความนี้ ฉันพบว่าการแปล daemon (วิธีที่ระบบ Unix และอนุพันธ์เรียกโปรแกรมประเภทนี้) เป็น daemon ข้อผิดพลาดที่แพร่หลายแต่ฉันจะไม่แก้ไขมัน เรากำลังพูดถึงเรื่องบาป ต้องมีปีศาจอย่างน้อยหนึ่งตัว
หน้าที่ของ cron คือการดำเนินการในเวลาที่กำหนดก่อนหน้านี้งานบางอย่าง. ส่วนใหญ่เกิดจากความต้องการของระบบ แม้ว่าผู้ใช้สามารถระบุผู้อื่นได้ด้วยการแก้ไขไฟล์ข้อความที่เรียกว่า crontab
ในโพสต์ก่อนหน้านี้ เราได้กล่าวว่าคำสั่งในการสร้าง crontab คือ:
crontab –e
สำหรับผู้ใช้เริ่มต้น
O
crontab –u nombre_de_usuario
สำหรับคนอื่น ๆ
Crontab เป็นไฟล์ข้อความที่ให้คำแนะนำ Cron เกี่ยวกับสิ่งที่ต้องทำและเวลาที่ต้องทำ
เกี่ยวกับการใช้ cron ผ่าน crontab
ในการสร้าง crontab ของเรา เราต้องคำนึงถึงสิ่งต่อไปนี้:
- ใช้หนึ่งบรรทัดสำหรับแต่ละงาน
- ต้องระบุวันที่และเวลาในการดำเนินงาน กรณีเป็นงานที่ต้องอาศัยระยะเวลา ตัวอย่างเช่น ทุกวันพุธ เวลา 5 น. พารามิเตอร์ที่เหลือจะถูกแทนที่ด้วยเครื่องหมายดอกจัน (*)
- หากคุณต้องการกำหนดค่ามากกว่าหนึ่งค่าสำหรับพารามิเตอร์ที่กำหนด แต่ละค่าต้องคั่นด้วยเครื่องหมายจุลภาค
- พารามิเตอร์ถูกคั่นด้วยช่องว่าง
- ไดเร็กทอรีที่ต้องรู้จักตัวเรียกใช้คำสั่ง
เช่น ถ้าต้องการให้ลูกปิดคอมพิวเตอร์ทุกวันเวลา 20 น. คำสั่งจะเป็น
0 20 * * * /sbin/shutdown
ในกรณีที่ต้องการให้หยุดให้บริการเฉพาะวันอาทิตย์ ให้เปลี่ยนคำสั่งเป็น
0 20 * * 0 /sbin/shutdown
มีทางลัดที่ช่วยให้เราไม่ต้องพิมพ์พารามิเตอร์ทั้งหมด พวกเขาคือ:
- @รายชั่วโมง: ออกคำสั่งตอนบ่ายโมง
- @รายวัน: รันคำสั่งที่จุดเริ่มต้นของแต่ละวัน
- @รายสัปดาห์: เรียกใช้คำสั่งเมื่อเริ่มต้นวันแรกของสัปดาห์
- @รายเดือน: รันคำสั่งที่จุดเริ่มต้นของวันแรกของทุกเดือน
- @yearly: ดำเนินการคำสั่งในนาทีแรกของปี
ตัวอย่างการใช้คำสั่งนี้คือ:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
เรียกใช้สคริปต์ทุบตี
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
รันสคริปต์ python ทุกชั่วโมง
ในทุกกรณี สคริปต์ต้องมีสิทธิ์ดำเนินการ
ในตัวอย่างที่เราเห็น ไม่เพียงแต่ระบุคำสั่งเท่านั้น แต่ยังระบุพาธที่ไฟล์เรียกทำงานตั้งอยู่ด้วย เราจะทำงานกับไดเร็กทอรีเหล่านี้:
- /พัน: ประกอบด้วยแอปพลิเคชันทั้งหมดที่จำเป็นสำหรับการทำงานของระบบ
- /สบิน: นี่คือแอปพลิเคชันที่ผู้ใช้รูทต้องการเพื่อจัดการระบบ
- / หน้าแรก: ตำแหน่งที่จัดเก็บแอปพลิเคชันของผู้ใช้แต่ละคน
- / usr: แอปพลิเคชันและไฟล์ที่ติดตั้งโดยผู้ใช้จะถูกเก็บไว้ที่นี่ ซึ่งรวมถึงไฟล์ที่มีชื่อและฟังก์ชันที่กล่าวถึงในรายการนี้
ในบทความถัดไป เราจะมาดูวิธีปรับปรุงการเขียน crontab และเครื่องมืออัตโนมัติอื่นๆ ที่มีให้สำหรับ Linux