การทำงานอัตโนมัติด้วย Cron

การทำงานอัตโนมัติด้วย Cron

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

Cron คือเดมอนที่รับผิดชอบในการดำเนินงานในช่วงเวลาที่กำหนด แม้ว่าหน้าที่ของมันคือการจัดการงานบำรุงรักษาระบบปกติ แต่เราสามารถเพิ่มงานอื่น ๆ ที่น่าสนใจให้กับเราได้

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

คุณสมบัติหลักบางประการ

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

การทำงานอัตโนมัติด้วย Cron

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

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

การสร้าง crontab ของเราเอง

Cron ต้องการให้งานที่เรามอบหมายมีพารามิเตอร์ตามที่ระบุในลำดับนี้:

h: เวลาเริ่มต้นในช่วง 0-23.

m: นาทีในช่วง 0-59.

d: วันที่ของเดือนระหว่างช่วง 1-31

ฉัน: ระบุเดือนของปีโดยมีช่วง 1-12

s: วันในสัปดาห์ที่มีช่วง 0-6

ข้อมูลนี้จะอยู่ภายในไฟล์ crontab เพื่อสร้างไฟล์นี้เราเขียนคำสั่ง:
crontab –u nombre de usuario –e
หาก crontab จะเป็นของผู้ใช้เริ่มต้น เราสามารถละเว้นพารามิเตอร์ -u ได้
เมื่อเรารันครั้งแรก ระบบจะแจ้งให้ทราบว่าไฟล์นี้ไม่มีอยู่ และจะแนะนำให้สร้างไฟล์และแก้ไขด้วยโปรแกรมแก้ไขใด ๆ ที่ติดตั้งอยู่ในคอมพิวเตอร์

ประเด็นบางประการที่ควรคำนึงถึงเมื่อแก้ไข crontab ได้แก่:

  • งานแต่ละอย่างดำเนินไปตามสายงาน
  • ในทุกกรณี จะต้องระบุวันที่และเวลาที่ต้องดำเนินการงานแต่ละงาน เพื่อระบุความถี่ (เช่น วันอังคาร เวลา 18 น.) จะให้เขียนเครื่องหมายดอกจันแทนพารามิเตอร์ที่เหลือ (*)
  • สามารถกำหนดค่ามากกว่าหนึ่งค่าให้กับพารามิเตอร์ได้ (เช่น วันอังคารและวันพฤหัสบดี เวลา 18 น.) โดยคั่นค่าทั้งสองด้วยเครื่องหมายจุลภาค
  • ต้องเว้นช่องว่างระหว่างพารามิเตอร์
  • ระบุไดเรกทอรีที่มีโปรแกรมเรียกใช้งานคำสั่งตั้งอยู่

เพื่อเป็นตัวอย่าง หากเราต้องการรีสตาร์ทคอมพิวเตอร์ทุกวันเวลา 19 น.:

0 19 * * * /sbin/reboot

หากต้องการให้เริ่มใหม่เฉพาะวันพุธ คำสั่งจะเป็นดังนี้:

0 20 * * 3 /sbin/reboot.

มีทางลัดบางอย่างที่ช่วยให้เราหลีกเลี่ยงการเขียนพารามิเตอร์ทั้งหมด:

@รายชั่วโมง: หากเราต้องการดำเนินการคำสั่งในช่วงเริ่มต้นของแต่ละชั่วโมง
@รายวัน: เพื่อรันคำสั่งในช่วงเริ่มต้นของแต่ละวัน
@รายสัปดาห์: รันคำสั่งในวันแรกของสัปดาห์
@รายเดือน: คำสั่งจะถูกดำเนินการในนาทีแรกของทุกเดือน
@yearly:เหมือนเดิมแต่ในนาทีแรกของทุกปี..
ตัวอย่างการใช้คำสั่งนี้:

@daily /bin/sh /ruta_al_script/nombre_del_script.sh ดำเนินการตามคำสั่งที่กำหนดเองในสคริปต์ bash ในช่วงเริ่มต้นของวัน

@hourly /bin/python3 /ruta_al_script/nombre_del_script.py สร้างสคริปต์ Python ให้ทำงานทุก ๆ ชั่วโมง

เราควรตรวจสอบให้แน่ใจเสมอว่าสคริปต์มีสิทธิ์ในการดำเนินการ


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา