Configure ups in centos 7

Having small servers at office requires try to avoid a small number of problems one of then are electrical supply falitures, a quick way to solve this is connecting a UPS to the server and forget about cross your fingers when a power outtage makes act of presence.


In my case i have to configure a couple of small servers one with an old Yukai UPS and other with a Salicru ups.

If you want to get an ups  linux communication working follow  this steps:

Enable epel

yum install

Install packages

yum install nut.x86_64 vim

Configure NUT

First search if your ups is supported in nut database and ensure that you select the desired driver Linux UPS Hardware Compatibility list

if your ups doesn’t appears in this list youl use your favourite web searcher for someone who try to fix these problems in case of Salicru appears to work with blazer_usb driver

vim /etc/ups/ups.conf

at the end of the file append these lines for mustek Yukai series

driver = blazer_usb
port = auto
desc = "Yukai PowerMust 600 usb"

next step is verify if your selected configuration is valid just type in your terminal

  upsdrvctl start

and shoud get some output like these

Network UPS Tools - UPS driver controller 2.7.2
Network UPS Tools - Megatec/Q1 protocol USB driver 0.11 (2.7.2)
Supported UPS detected with megatec protocol
Vendor information unavailable
No values provided for battery high/low voltages in ups.conf

Using 'guestimation' (low: 10.400000, high: 13.000000)!
Battery runtime will not be calculated (runtimecal not set)

after this you should configure your permissions ACL, in my case I only want query SAI status from the server only

so edit file /etc/ups/upsd.conf using this command

vim /etc/ups/upsd.conf

and append these text

ACL all
ACL localhost
ACCEPT localhost



after this you should add a user to check UPS status edditing   /etc/ups/upsd.users file

vim  vim /etc/ups/upsd.users

and append this text

password = secretpass
allowfrom = localhost
upsmon master

Next step is link your ups with created user

add a line in file

 vim /etc/ups/upsmon.conf

with these content

MONITOR </etc/ups/ups.conf UPS name>@localhost 1 </etc/ups/upsd.users selected username> </etc/ups/upsd.users selected password> master

in this case

MONITOR yukai@localhost 1 local_mon secretpass master

Enable services

systemctl enable nut-monitor.service

systemctl enable nut-server.service

and start these services

systemctl start nut-server.service

systemctl start nut-monitor.service

sometimes at execute after execute “upsdrvctl start” command  it hijacks usb communication, this can be solved restarting system.

to check if ups is working just launch

upsc “ups name” and you should get an output like these

upsc yukai

battery.charge: 100
battery.voltage: 13.20
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups blazer_usb
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.7.2
driver.version.internal: 0.11
input.current.nominal: 1.0
input.frequency: 49.9
input.frequency.nominal: 50
input.voltage: 231.5
input.voltage.fault: 231.5
input.voltage.nominal: 230
output.voltage: 231.5
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 27
ups.productid: 5161
ups.status: OL
ups.type: offline / line interactive


7 Replies to “Configure ups in centos 7”

  1. thank you !

    i was trying to make my Eaton Ellipse Pro 650 work on centos7 before, but with no avail (diffrent forums, posts)
    i used your solution (modified to use usbhid-ups) and it works.

  2. Thumbs up!
    This ist the only guide for the current release of RHEL I found in the big www. Short and precise, and not bloated with unusual use cases, thats how guides should be!

  3. That was a good tutorial, thank you. I’m using a Salicru SPS 700 One. It didn’t work to start but a reboot sorted it.

  4. I had to create the following file to make it work:

    $ cat /etc/tmpfiles.d/nut-run.conf
    #Type Path Mode UID GID Age Argument
    d /run/nut 0755 nut root

  5. @Giovanni Bronzini

    Hey thanks for the tip — I had to create that file as well. I’m guessing there is a permissions problem somewhere

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.