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

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

การอัปโหลด Script
1. คลิกปุ่มการกำหนดค่าสำหรับ Application Server ของคุณ

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

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

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

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

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

เคล็ดลับ:หาก Script ของคุณไม่มี flag ปฏิบัติการและคุณใช้ตัวแปลภาษาเป็นโปรแกรมในตัว เช่น Bash, Perl, Python, SED, AWK หรือ Expect (ขึ้นอยู่กับ Script ของคุณ) คุณควรเพิ่มเส้นทางต่อไปนี้หลังจากการตั้งค่าเวลาสำหรับการระบุตัวแปลภาษาเป็นโปรแกรมอย่างชัดเจน:
- /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. บันทึกการเปลี่ยนแปลงเพื่อใช้การตั้งค่า
