การตั้งค่า Cronjob
คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ
คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง
วัตถุประสงค์
บทความนี้อธิบายการใช้งาน การตั้งค่า Cronjob บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง
ก่อนเริ่มดำเนินการ
- เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
- ตรวจสอบชื่อ Environment, Region และทรัพยากรเป้าหมายก่อนบันทึกการเปลี่ยนแปลง
- สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production
Cron คือ คำสั่งให้ทำงานตามเวลาที่กำหนดในระบบปฏิบัติการคอมพิวเตอร์ที่เหมือน Unix Cron ช่วยให้ผู้ใช้สามารถกำหนดเวลางาน (commands หรือ shell scripts) เพื่อรันเป็นระยะ ๆ ในบางช่วงเวลาหรือวันที่โดยทั่วไปจะใช้เพื่อบำรุงรักษาหรือการดูแลระบบโดยอัตโนมัติ ถึงแม้ว่าลักษณะการใช้งานทั่วไปหมายความว่าสามารถใช้เพื่อวัตถุประสงค์อื่นได้ เช่น การเชื่อมต่อกับอินเทอร์เน็ตและการดาวน์โหลดอีเมล
Ruk-Com Cloud ให้คุณสามารถรันโปรแกรมของคุณในเวลาที่กำหนดด้วยความช่วยเหลือจาก cron คุณสามารถใช้สิ่งนี้เพื่อทำงานตามสถานการณ์ที่ได้รับ:
- การล้าง logs
- การสำรองข้อมูล
- การรันสคริปต์
คุณสามารถดูตัวอย่างได้ด้านล่าง
การสร้าง environment
1. เข้าสู่ระบบ Ruk-Com Cloud Dashboard
2. คลิกปุ่มสภาพแวดล้อมใหม่

3. ในหน้า environment topology ให้เลือกแอปพลิเคชันเซิร์ฟเวอร์และฐานข้อมูลที่คุณต้องการใช้ (เช่นแมวตัวผู้และMySQL) พิมพ์ชื่อของ environment และคลิกสร้าง

การอัปโหลดสคริปต์
1. คลิกปุ่มการกำหนดค่าสำหรับแอปพลิเคชันเซิร์ฟเวอร์ของคุณ

2. อัปโหลดสคริปต์ที่คุณต้องการรันไปยังโฟลเดอร์ต่อไปนี้
- บ้าน- หากคุณใช้ Java server ใน environment ของคุณ (ตามที่เรายกตัวอย่างในคำแนะนำนี้)
- โฟลเดอร์ที่จัดเก็บแอปพลิเคชันของคุณ - หากคุณใช้ PHP server ใน environment ของคุณ

1. คลิกปุ่มการกำหนดค่าสำหรับฐานข้อมูล (MySQL หรือ MariaDB)

2. อัปโหลดสคริปต์ที่คุณต้องการดำเนินการไปยังโฟลเดอร์สคริปต์

หมายเหตุ:สคริปต์ที่คุณต้องการดำเนินการควรเป็นไฟล์ปฏิบัติการ หากไม่ใช่คุณสามารถใช้ตัวแปรภาษาในตัว เช่น Bash, Perl, Python, SED, AWK หรือ Expect (ขึ้นอยู่กับสคริปต์ที่คุณใช้)
1. ในแท็บการกำหนดค่าที่เปิดอยู่ ให้ไปที่โฟลเดอร์ cron และเปิดไฟล์ {nodeName}

2. ในส่วนนี้คุณสามารถเขียนคำสั่งที่จำเป็นทั้งหมดเพื่อกำหนดตารางเวลางานของคุณซึ่งควรประกอบด้วยรูปแบบพื้นฐานของการกำหนด crontab ที่ประกอบด้วย 6 ช่องและคั่นด้วยช่องว่าง
{minute} {hour} {day} {month} {day-of-week} {command-line-to-execute}
ในขณะที่ระบุค่าคุณต้องปฏิบัติตามมาตรฐานนี้:
- ฟิลด์จะต้องอยู่ในลำดับที่แน่นอน โดยไม่มีฟิลด์ว่างหรือขาดหายไป
- หากจำเป็นคุณสามารถใช้อักขระแทน - "*" (เครื่องหมายดอกจัน) ในไฟล์ crontab จะแสดงถึงทุกค่าที่เป็นไปได้สำหรับฟิลด์ ตัวอย่างเช่นการระบุ "*" ในช่อง "ชั่วโมง" หมายถึง"รันทุกชั่วโมง"
- อักขระ "/" ใช้เพื่อกำหนดความถี่เพิ่มเติม ตัวอย่างเช่น "* / 3" ใน "ชั่วโมง" หมายถึง "ทุกสามชั่วโมง"
- สำหรับแต่ละพารามิเตอร์คุณสามารถระบุค่าได้หลายค่าโดยคั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น หากใน "ชั่วโมง" คุณพิมพ์ "1, 6, 19" งานจะรัน "เวลา 1:00 น. เวลา 6:00 น. และ 19 ชั่วโมง" คุณยังสามารถระบุช่วงเวลาได้ เช่น "8-17" หมายความว่าโปรแกรมจะรัน "ทุกชั่วโมงตั้งแต่ 8 ถึง 17"
คุณควรระบุ path แบบเต็มไปยังสคริปต์ของคุณด้วยคำสั่งครอนขึ้นอยู่กับตำแหน่งของสคริปต์ของคุณ เส้นทางสามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้:
- โฟลเดอร์ home สำหรับการคำนวณ Java nodes:
/opt/tomcat/temp/{scriptName} - ทอมแคท, TomEE
/opt/jetty/home/{scriptName} - ท่าเทียบเรือ
/opt/glassfish3/temp/{scriptName} - GlassFish
- โฟลเดอร์ที่มีไฟล์แอปพลิเคชันและสคริปต์สำหรับการคำนวณ PHP nodes:
/var/www/webroot/{appFolder}/{scriptName}
- โฟลเดอร์สคริปต์สำหรับ MySQL/MariaDB databases:
/var/lib/jelastic/bin/{scriptName}
3. ตัวอย่างเช่น หากสคริปต์ของคุณอยู่ในโฟลเดอร์ home ของ Tomcat และคุณต้องการให้ดำเนินการทุกนาที บรรทัดคำสั่งของคุณอาจมีลักษณะดังนี้:
*/1 * * * * /opt/tomcat/temp/test.sh

เคล็ดลับ:หากสคริปต์ของคุณไม่มี flag ปฏิบัติการและคุณใช้ตัวแปลภาษาเป็นโปรแกรมในตัว เช่น Bash, Perl, Python, SED, AWK หรือ Expect (ขึ้นอยู่กับสคริปต์ของคุณ) คุณควรเพิ่มเส้นทางต่อไปนี้หลังจากการตั้งค่าเวลาสำหรับการระบุตัวแปลภาษาเป็นโปรแกรมอย่างชัดเจน:
- /bin/bash - สำหรับ Bash
- /usr/bin/python - สำหรับ Python
- /usr/bin/perl - สำหรับ Perl
- /bin/sed - สำหรับ SED
- /bin/awk - สำหรับ AWK
- /usr/bin/expect - สำหรับ Expect
- /usr/bin/php - สำหรับ php-interpreter
ในกรณีนี้คำสั่งของคุณจะเป็นดังนี้:
*/1 * * * * /bin/bash /opt/tomcat/temp/test.sh

4. โปรดตรวจสอบให้แน่ใจว่ามีบรรทัดว่างหลังจากรายการ cronjob ล่าสุด
5. บันทึกการเปลี่ยนแปลงเพื่อใช้การตั้งค่า