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