SaltStack - ใช้ Cron กับเกลือ

สามารถใช้เกลือร่วมกับ Cronใบสมัคร การใช้ทั้งสองแอปพลิเคชันร่วมกันเป็นโอกาสที่ดีในการทำให้ Salt เป็นอัตโนมัติ ในขณะที่ Salt มีตัวเลือกในการดำเนินการคำสั่งจากระยะไกล Cron ช่วยให้สามารถรันในลักษณะที่กำหนดไว้ล่วงหน้าหรือแบบอัตโนมัติ ให้เราเรียนรู้วิธีใช้ Cron และ Salt ร่วมกันในบทนี้

Cron คืออะไร?

Cron เป็นแอปพลิเคชั่นที่มีประโยชน์มากใน Linux Environment ช่วยให้สามารถตั้งค่าคำสั่งหรือสคริปต์ล่วงหน้าเพื่อเรียกใช้ในวันที่และเวลาที่ระบุ นอกจากนี้ยังเปิดใช้งานแอปพลิเคชันในช่วงเวลาปกติเช่นรายวันรายสัปดาห์หรือทุกวันแรกของเดือน

Cron เริ่มทำงานเมื่อระบบเริ่มทำงานและตรวจสอบไฟล์ /etc/crontabไฟล์สำหรับรายละเอียดการกำหนดค่า / etc / crontab มีทุกแอปพลิเคชันและตารางเวลาแยกกันตามที่แสดงด้านล่าง

15 * * * * root echo "This command runs at 15 minutes past every hour"
15 10 * * * root echo "This command is run daily at 10:15 am"

ทุกบรรทัดมีจุดเข้าเจ็ดจุดดังต่อไปนี้ซึ่งคั่นด้วยช่องว่างและมีดังนี้ -

  • minute - นาทีของชั่วโมงและอยู่ระหว่าง '0' ถึง '59'

  • hour - ชั่วโมงและระบุไว้ในนาฬิกาแบบ 24 ชั่วโมง

  • day_of_month- วันของเดือนและอยู่ระหว่าง 1 และ 31 ตัวอย่างเช่น 10 วันของแต่ละเดือนคือ 10

  • month - เดือนที่ระบุและระบุเป็นตัวเลข (0-12) หรือเป็นชื่อของเดือน (เช่นพฤษภาคม)

  • day_of_week - วันในสัปดาห์ระบุเป็นตัวเลข (0-7) หรือเป็นชื่อของวัน (เช่นอาทิตย์)

  • user - บัญชีผู้ใช้ที่คำสั่งทำงาน

  • cmd - คำสั่งจริงและข้อโต้แย้ง

ที่นี่ * แทนที่หากไม่มีการกำหนดอะไร

Salt Caller (สายเกลือ)

Salt มี CLI (Command Line Interface) salt-callเพื่อรันโมดูลในระบบมิเนียนโลคัลแทนจากเซิร์ฟเวอร์หลักโดยใช้คำสั่ง salt Salt call CLI รองรับตัวเลือกทั้งหมดที่สนับสนุนโดยคำสั่ง salt แต่รันในเครื่อง

Salt Caller ได้รับการออกแบบมาเพื่อรองรับการดีบักในตอนแรก แต่ตอนนี้สามารถใช้เป็นแอปพลิเคชันแบบสแตนด์อโลนได้

salt-call test.ping

ใช้ Salt-Call ใน cron

Salt-call CLI มีประโยชน์ในการกำหนดเวลาการทำงานของเกลือโดยใช้ Cron ตัวอย่างเช่นในการตรวจสอบสถานะของมินเนี่ยนทุกวันในเวลาเที่ยงคืนเราสามารถใช้ Salt-call พร้อมกับตัวเลือก - state.apply ตามที่แสดงด้านล่าง

/etc/crontab

PATH = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin
0 0 * * * salt-call state.apply

ที่นี่

  • state.apply ฟังก์ชันจะตรวจสอบไฟล์คอนฟิกูเรชัน salt สำหรับ minion และตรวจสอบว่าการกระทำทั้งหมดที่กำหนดไว้สำหรับ minion นั้นได้รับการกำหนดค่าอย่างเหมาะสม

  • การกำหนดเส้นทางเป็นแนวทางปฏิบัติที่ดีเนื่องจากบางครั้งคำสั่ง salt อาจไม่พร้อมใช้งานในเส้นทางของระบบ

ในบทต่อไปเราจะเรียนรู้ Remote Execution ซึ่งเป็นแนวคิดหลักของ Salt