ปัจจุบันเมื่อหนึ่งในสองของยูพีเอสตายที่doshutdownเหตุการณ์จะถูกเรียกและรันสคริปต์เริ่มต้นผ่านapccontrol doshutdownสคริปต์ละเว้น UPS ที่สองขณะที่พวกเขาไม่ได้เป็นเหตุการณ์ที่เชื่อมต่อและดำเนินการตามปกติที่มีการปิด
เพื่อให้มีการเชื่อมต่อเหตุการณ์doshutdownค่อนข้างสองอินสแตนซ์ของ apcupsd จำเป็นต้องใช้ไฟล์การกำหนดค่าที่กำหนดเองโดยเฉพาะ ความแตกต่างจะอยู่ในไดเรกทอรีซึ่งจะต้องเรียกใช้สคริปต์เหตุการณ์
คุณสมบัติหลักของ ups แรกใน /etc/apcupsd/apcupsd.ups0.conf
SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events
และสำหรับ ups1, ใน /etc/apcupsd/apcupsd.ups1.conf
SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events
แต่ละสคริปต์ควรได้รับสำเนาของสคริปต์เริ่มต้น
เราต้องการปรับแต่งสคริปต์doshutdownซึ่งจะไม่ปิดเครื่องโดยตรง แต่ต้องตรวจสอบว่า UPS เครื่องอื่นยังทำงานอยู่หรือไม่หรืออยู่ในโหมดปิดเครื่อง
ที่ด้านบนของสคริปต์doshutdownเราสามารถเพิ่มสิ่งที่ชอบ
สำหรับ ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
สำหรับ ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
สถานะ 99 มีความหมายพิเศษซึ่งจะบอกให้apccontrolหยุดการกระทำที่กำลังดำเนินอยู่ ห้าบรรทัดตรวจสอบว่ามีการสร้างไฟล์ UPS อื่น ๆ หรือไม่ หากไม่มีไฟล์ดาวน์จะถูกสร้างขึ้นสำหรับการอัพดาวน์และออก ถ้าใช่หมายถึง UPS อื่น ๆ หยุดทำงานอันนี้กำลังลงเช่นกันดังนั้นสคริปต์ควรดำเนินการต่อและปิดเครื่อง
ไฟล์/tmp/usp[01].is.down
ระบุว่า ups [01] ไม่ทำงานหรือไม่
สำคัญ: สคริปต์เริ่มต้น init.d ของ apcupsd ควรลบไฟล์เหล่านี้หากสร้างขึ้นในเซสชันก่อนหน้า:
rm -f /tmp/usp[01].is.down
ในที่สุดไดเรกทอรีที่สร้างขึ้นข้างต้น / etc / apcupsd / ups [01] ควรได้รับการเข้าถึงผู้ใช้apcupsd (หรือผู้ใช้ที่เกี่ยวข้องที่ทำงานอินสแตนซ์)
chown -R apcupsd /etc/apcupsd/ups[01]
โปรดดูได้ที่เป็นเอกสารรายละเอียด
แก้ไขการแก้ไข/tmp/ups[01].is.down
ชื่อที่.is
ขาดหายไป