ฉันได้เขียนเชลล์สคริปต์การหมุนเวียน IP สคริปต์ได้รับด้านล่าง
#!/bin/sh
# รับเคาน์เตอร์จากมูลค่าที่เก็บไว้
จำนวนการอ่าน < counter.txt
ถ้า [[ $count -eq 0 ]]
แล้ว
ก่อนหน้า=5
ไฟ
ถ้า [[ $count -gt 0 ]]
แล้ว
ก่อนหน้า=$(($นับ-1))
ไฟ
#อันดับแรก เราต้องการจัดเก็บที่อยู่ IP ที่มีอยู่ทั้งหมด
IP_ADDRESSES=(1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1 1.1.1.1)
#เก็บชื่อโฮสต์ทั้งหมด
HOST_NAMES=(server1.example.com server2.example.com server3.example.com server4.example.com server5.example.com server6.example.com)
#คำสั่งนี้จะ
#echo ${IP_ADDRESSES[$count]}
#ตอนนี้เปลี่ยน IP ต้นทางเริ่มต้นของระบบ
เส้นทาง ip แทนที่ค่าเริ่มต้นผ่าน ${IP_ADDRESSES[$prev]} dev venet0 src ${IP_ADDRESSES[$count]}
#ตอนนี้เปลี่ยนชื่อโฮสต์
hostnamectl ตั้งค่าชื่อโฮสต์ ${HOST_NAMES[$count]}
#ตอนนี้เปลี่ยนชื่อโฮสต์ใน postfix
postconf -ev myhostname=${HOST_NAMES[$count]}
นับ=$นับ+1
ถ้า [[ $count -gt 5 ]]
แล้ว
นับ = 0
ไฟ
echo $count > counter.txt
เมื่อฉันรันสคริปต์จากบรรทัดคำสั่ง มันทำงานได้อย่างสมบูรณ์ และฉันสามารถส่งอีเมลจากคู่ IP และชื่อโฮสต์ใหม่ได้ ตอนนี้ฉันต้องการรันสคริปต์นี้ก่อนหรือหลังส่งอีเมลขาออกจากเซิร์ฟเวอร์ POSTFIX ของเรา แต่ฉันไม่รู้วิธีเรียกใช้สคริปต์นี้ภายใน POSTFIX