Hiện tại khi một trong hai UPS chết, sự kiện doshutdown được kích hoạt và thực thi tập lệnh mặc định thông qua apccontrol . Tập lệnh doshutdown bỏ qua UPS thứ hai, vì chúng không được kết nối với sự kiện và tiến hành bình thường khi tắt máy.
Để các sự kiện doshutdown được kết nối phần nào, hai trường hợp của apcupsd cần một tệp cấu hình được tùy chỉnh cụ thể. Sự khác biệt sẽ nằm trong thư mục mà các kịch bản sự kiện phải được thực thi.
Thuộc tính chính của lần đầu tiên, trong /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
Và cho up1, trong /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
Mỗi scriptdir sẽ nhận được một bản sao của các tập lệnh mặc định.
Chúng tôi muốn tùy chỉnh tập lệnh doshutdown , sẽ không trực tiếp tắt máy, nhưng phải kiểm tra xem UPS khác có còn bật hay đang ở chế độ tắt máy.
Ở đầu tập lệnh doshutdown , chúng ta có thể thêm một cái gì đó như
cho up0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
cho up1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
trạng thái 99 có một ý nghĩa đặc biệt, nói với apccontrol dừng hành động đang diễn ra. Năm dòng kiểm tra xem tập tin UPS khác đã được tạo chưa; nếu không , tập tin xuống được tạo cho các lần tải xuống và thoát. Nếu có , có nghĩa là UPS khác bị hỏng, thì cái này cũng bị hỏng, do đó tập lệnh sẽ tiếp tục và tắt máy.
Các tập tin /tmp/usp[01].is.down
cho biết nếu hiện tại up [01] không hoạt động.
Quan trọng: tập lệnh init.d của apcupsd sẽ xóa các tệp này, nếu chúng đã được tạo trong phiên trước:
rm -f /tmp/usp[01].is.down
Cuối cùng, các thư mục được tạo ở trên, / etc / apcupsd / up [01] phải được cấp quyền truy cập cho người dùng apcupsd (hoặc bất kỳ người dùng nào có liên quan chạy các phiên bản).
chown -R apcupsd /etc/apcupsd/ups[01]
Xin vui lòng xem tài liệu chi tiết .
chỉnh sửa sửa /tmp/ups[01].is.down
tên, .is
đã mất tích.