วิธีสร้างและจัดการงาน Cron บน Linux
Cron เป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดของ Linux และเป็นที่ชื่นชอบของนักพัฒนา เนื่องจากช่วยให้คุณสามารถรันคำสั่งอัตโนมัติในช่วงเวลา วันที่ และช่วงเวลาที่กำหนด โดยใช้สคริปต์ทั้งสำหรับวัตถุประสงค์ทั่วไปและเฉพาะงาน ด้วยคำอธิบายดังกล่าว คุณสามารถจินตนาการได้ว่าผู้ดูแลระบบใช้งานอย่างไรเพื่อสำรองข้อมูลอัตโนมัติ การล้างไดเร็กทอรี การแจ้งเตือน ฯลฯ
งาน Cron จะทำงานอยู่เบื้องหลังและตรวจสอบไฟล์ /etc/crontab
และ /etc/cron.*/
และ /var/spool/cron/ อย่างต่อเนื่อง
ไดเร็กทอรี ไม่ควรแก้ไขไฟล์ cron โดยตรง และผู้ใช้แต่ละคนมี crontab ที่ไม่ซ้ำกัน
แล้วคุณจะสร้างและแก้ไขงาน cron ได้อย่างไร? ด้วยคำสั่ง crontab crontab เป็นวิธีที่คุณใช้ในการสร้าง แก้ไข ติดตั้ง ถอนการติดตั้ง และแสดงรายการงาน cron
คำสั่งสำหรับการสร้างและแก้ไขงาน cron นั้นเหมือนกันและเรียบง่าย และที่เจ๋งกว่านั้นคือคุณไม่จำเป็นต้องรีสตาร์ท cron หลังจากสร้างไฟล์ใหม่หรือแก้ไขไฟล์ที่มีอยู่แล้ว
crontab -e
ไวยากรณ์ของครอน
เช่นเดียวกับภาษาอื่นๆ การทำงานกับ cron จะง่ายกว่ามากเมื่อคุณเข้าใจไวยากรณ์ของภาษานั้น และมี 2 รูปแบบที่คุณควรรู้:
A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh
คำอธิบายของไวยากรณ์ cron ข้างต้น:
- A: นาที ช่วง: 0 – 59
- B: ชั่วโมง ช่วง: 0 – 23
- C: วัน ช่วง: 0 – 31
- D: เดือน ช่วง: 0 – 12
- E: วันในสัปดาห์ ช่วง: 0 – 7 เริ่มตั้งแต่วันจันทร์ 0 หรือ 7 หมายถึงวันอาทิตย์
- USERNAME: แทนที่ด้วยชื่อผู้ใช้ของคุณ
- /path/to/command – ชื่อของสคริปต์หรือคำสั่งที่คุณต้องการกำหนดเวลา
นั่นไม่ใช่ทั้งหมด. Cron ใช้สัญลักษณ์ตัวดำเนินการ 3 ตัวซึ่งช่วยให้คุณสามารถระบุค่าหลายค่าในฟิลด์:
- เครื่องหมายดอกจัน
(*)
: ระบุค่าที่เป็นไปได้ทั้งหมดสำหรับฟิลด์ - เครื่องหมายจุลภาค
(,)
: ระบุรายการค่า - เส้นประ
(-)
: ระบุช่วงของค่า - ตัวคั่น
(/)
: ระบุค่าขั้นตอน
ตอนนี้คุณรู้ไวยากรณ์และตัวดำเนินการของ Cron แล้ว มาดูตัวอย่าง cron กัน
ตัวอย่างงาน Cron
ขั้นตอนแรกในการรันคำสั่ง cron คือการติดตั้ง crontab ของคุณด้วยคำสั่ง:
crontab -e
รัน /root/backup.sh
เวลา 03.00 น. ทุกวัน:
0 3 * * * /root/backup.sh
เรียกใช้ script.sh
เวลา 16:30 น. ทุกวันที่ 2 ของทุกเดือน:
30 16 2 * * /path/to/script.sh
เรียกใช้ /scripts/phpscript.php
เวลา 22.00 น. ระหว่างสัปดาห์:
0 22 * * 1-5 /scripts/phpscript.php
เรียกใช้ perlscript.pl
ที่ 23 นาที หลังเที่ยงคืน 02.00 น. และ 04.00 น. ทุกวัน:
23 0-23/2 * * * /path/to/perlscript.pl
รันคำสั่ง Linux เวลา 04:05 ทุกวันอาทิตย์:
5 4 * * sun /path/to/linuxcommand
ตัวเลือกครอน
แสดงรายการงาน cron
crontab -l
OR
crontab -u username -l
ลบงาน crontab ทั้งหมด
crontab -r
ลบงาน Cron สำหรับผู้ใช้เฉพาะ
crontab -r -u username
สตริงใน Crontab
สตริงเป็นหนึ่งในสิ่งที่นักพัฒนาชื่นชอบเพราะช่วยประหยัดเวลาโดยกำจัดการเขียนซ้ำๆ Cron มีสตริงเฉพาะที่คุณสามารถใช้เพื่อสร้างคำสั่งได้เร็วขึ้น:
@hourly
: ทำงานทุกๆ ชั่วโมง เช่น “0 * * * *“@midnight
: ทำงานวันละครั้ง เช่น “0 0 * * *“@daily
: เหมือนกับเที่ยงคืน@weekly
: เรียกใช้สัปดาห์ละครั้ง เช่น “0 0 * * 0“@monthly
: เรียกใช้ทุกเดือนเช่น “0 0 1 * *“@รายปี
: เรียกใช้ปีละครั้ง เช่น “0 0 1 1 *“@yearly
: เช่นเดียวกับ @รายปี@reboot
: รันหนึ่งครั้งทุกครั้งที่สตาร์ทเครื่อง
ตัวอย่างเช่น นี่คือวิธีสำรองข้อมูลระบบของคุณทุกวัน:
@daily /path/to/backup/script.sh
ณ จุดนี้ คุณมีสิ่งที่จำเป็นทั้งหมดในการสร้างและจัดการงานระบบโดยใช้ Cron ตอนนี้คุณสามารถเริ่มตั้งค่าและบำรุงรักษาสภาพแวดล้อมต่างๆ โดยใช้คำสั่งที่กำหนดเวลาไว้
คุณเป็นผู้ใช้ Cron มากแค่ไหน? และมีรายละเอียดใดบ้างที่คุณสามารถมีส่วนร่วมในบทความนี้? กล่องสนทนาอยู่ด้านล่าง
เมื่อคุณเข้าใจเพียงพอเกี่ยวกับวิธีการทำงานของ Crontab คุณสามารถใช้ยูทิลิตี้ตัวสร้าง Crontab ที่ดีเหล่านี้เพื่อสร้างบรรทัด crontab ได้ฟรี
นอกจากนี้คุณยังสามารถอ่านบทความของ Ubuntu เกี่ยวกับวิธีใช้ Cron ได้ที่นี่ มีแหล่งข้อมูลที่คุณอาจพบว่ามีประโยชน์