commit
2996c34163
@ -1,12 +1,13 @@
|
||||
Name: OpenIPMI
|
||||
Version: 2.0.27
|
||||
Release: 3
|
||||
Release: 4
|
||||
Summary: IPMI (Intelligent Platform Management Interface) library and tools
|
||||
License: LGPLv2+ and GPLv2+ or BSD
|
||||
URL: https://sourceforge.net/projects/openipmi/
|
||||
Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
|
||||
Source1: openipmi.sysconf
|
||||
Source2: ipmi.service
|
||||
Source3: openipmi-helper
|
||||
|
||||
BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel
|
||||
BuildRequires: openssl-devel python3-devel perl-devel perl-generators
|
||||
@ -79,6 +80,7 @@ make
|
||||
mkdir -p %{buildroot}{%{_sysconfdir}/sysconfig,%{_unitdir},%{_libexecdir}}
|
||||
install -m 644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/ipmi
|
||||
install -m 644 %SOURCE2 %{buildroot}%{_unitdir}/ipmi.service
|
||||
install -m 755 %SOURCE3 %{buildroot}%{_libexecdir}/openipmi-helper
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d
|
||||
|
||||
echo ".so man1/ipmicmd.1" > %{buildroot}%{_mandir}/man1/ipmicmd.1
|
||||
@ -107,6 +109,7 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
|
||||
%defattr(-,root,root)
|
||||
%license COPYING COPYING.BSD COPYING.LIB
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/ipmi
|
||||
%{_libexecdir}/openipmi-helper
|
||||
%config(noreplace) %{_sysconfdir}/ipmi/*
|
||||
%{_bindir}/*
|
||||
%{_libdir}/*.so.*
|
||||
@ -136,6 +139,12 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
|
||||
%exclude %{_mandir}/man1/openipmigui.1
|
||||
|
||||
%changelog
|
||||
* Mon Mar 2 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.0.27-4
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: add openipmi-helper file
|
||||
|
||||
* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.0.27-3
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
|
||||
513
openipmi-helper
Normal file
513
openipmi-helper
Normal file
@ -0,0 +1,513 @@
|
||||
#!/bin/sh
|
||||
#############################################################################
|
||||
#
|
||||
# ipmi: OpenIPMI Driver helper script
|
||||
#
|
||||
# Authors: Jan Safranek <jsafrane@redhat.com>
|
||||
#
|
||||
# Based on IPMI init script by:
|
||||
# Matt Domsch <Matt_Domsch@dell.com>
|
||||
# Chris Poblete <Chris_Poblete@dell.com>
|
||||
#
|
||||
# Status return code bits
|
||||
# no bits set = no errors
|
||||
# bit 0 set = minimum modules aren't loaded
|
||||
# bit 1 set = requested feature module isn't loaded
|
||||
# bit 2 set = /dev/ipmi0 (or /dev/imb if using that instead) doesn't exist
|
||||
# bit 3 set = /dev/watchdog doesn't exist
|
||||
# bit 4 set = lockfile doesn't exist
|
||||
# bit 5 set = modules are loaded even when asked to be unloaded
|
||||
|
||||
CONFIGFILE=/etc/sysconfig/ipmi
|
||||
# source config info
|
||||
[ -r ${CONFIGFILE} ] && . ${CONFIGFILE}
|
||||
|
||||
#############################################################################
|
||||
# GLOBALS
|
||||
#############################################################################
|
||||
MODULE_NAME="ipmi"
|
||||
INTF_NUM=0
|
||||
|
||||
IPMI_SMB_MODULE_NAME="ipmi_smb"
|
||||
IPMI_SI_MODULE_NAME="ipmi_si"
|
||||
kernel=`uname -r | cut -d. -f1-2`
|
||||
if [ "${kernel}" == "2.4" ]; then
|
||||
IPMI_SMB_MODULE_NAME="ipmi_smb_intf"
|
||||
IPMI_SI_MODULE_NAME="ipmi_si_drv"
|
||||
fi
|
||||
|
||||
MODULES_INTERFACES=""
|
||||
[ "${DEV_IPMI}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_devintf"
|
||||
[ "${IPMI_IMB}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_imb"
|
||||
|
||||
MODULES_FEATURES=""
|
||||
[ "${IPMI_WATCHDOG}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_watchdog"
|
||||
[ "${IPMI_POWEROFF}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_poweroff"
|
||||
|
||||
MODULES_HW=""
|
||||
[ "${IPMI_SI}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SI_MODULE_NAME}"
|
||||
[ "${IPMI_SMB}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SMB_MODULE_NAME}"
|
||||
|
||||
MODULES_BASE="ipmi_msghandler"
|
||||
MODULES="${MODULES_INTERFACES} ${MODULES_FEATURES} ${MODULES_HW} ${MODULES_BASE}"
|
||||
|
||||
RETVAL=0
|
||||
LOCKFILE=/var/lock/subsys/ipmi
|
||||
DEV_IPMI_TIMEOUT=150
|
||||
|
||||
UDEV_EXISTS=0
|
||||
if [ -e /sbin/udev -o -e /sbin/udevd ]; then
|
||||
UDEV_EXISTS=1
|
||||
fi
|
||||
|
||||
#############################################################################
|
||||
# NOTES:
|
||||
# * /dev/ipmi0 is unconditionally deleted here on ipmi_devintf unload,
|
||||
# because SLES9 and RHEL4 kernels don't send a message for udev to delete
|
||||
# it for us.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
modules_loaded_verbose()
|
||||
{
|
||||
OnePlusLoaded=0
|
||||
OnePlusUnloaded=0
|
||||
for m in $@; do
|
||||
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
|
||||
echo "$m module loaded."
|
||||
OnePlusLoaded=1
|
||||
else
|
||||
echo "$m module not loaded."
|
||||
OnePlusUnloaded=1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
modules_loaded()
|
||||
{
|
||||
OnePlusLoaded=0
|
||||
OnePlusUnloaded=0
|
||||
for m in $@; do
|
||||
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
|
||||
OnePlusLoaded=1
|
||||
else
|
||||
OnePlusUnloaded=1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
device_node_exists ()
|
||||
{
|
||||
if [ -e "$1" ]; then
|
||||
echo "$1 exists."
|
||||
return 1
|
||||
fi
|
||||
echo "$1 does not exist."
|
||||
return 0
|
||||
}
|
||||
|
||||
minimum_modules_loaded()
|
||||
{
|
||||
rc_base=1
|
||||
rc_hw=1
|
||||
modules_loaded_verbose "${MODULES_BASE}"
|
||||
[ ${OnePlusLoaded} -eq 0 ] && rc_base=0
|
||||
|
||||
modules_loaded_verbose "${MODULES_HW}"
|
||||
[ ${OnePlusLoaded} -eq 0 ] && rc_hw=0
|
||||
|
||||
return $((rc_base && rc_hw))
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
|
||||
load_si()
|
||||
{
|
||||
if [ "${IPMI_SI}" = "yes" ]; then
|
||||
modprobe ${IPMI_SI_MODULE_NAME} > /dev/null 2>&1
|
||||
modules_loaded ${IPMI_SI_MODULE_NAME}
|
||||
[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
|
||||
fi
|
||||
}
|
||||
|
||||
load_smb()
|
||||
{
|
||||
if [ "${IPMI_SMB}" = "yes" ]; then
|
||||
modprobe ${IPMI_SMB_MODULE_NAME} > /dev/null 2>&1
|
||||
modules_loaded ${IPMI_SMB_MODULE_NAME}
|
||||
[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
|
||||
fi
|
||||
}
|
||||
|
||||
load_hw_modules()
|
||||
{
|
||||
load_si
|
||||
load_smb
|
||||
}
|
||||
|
||||
start_watchdog_common()
|
||||
{
|
||||
load_hw_modules
|
||||
modprobe ipmi_watchdog ${IPMI_WATCHDOG_OPTIONS} > /dev/null 2>&1
|
||||
modules_loaded ipmi_watchdog
|
||||
[ ${OnePlusUnloaded} -ne 0 ] &&
|
||||
RETVAL=$((RETVAL | 2)) &&
|
||||
echo "Watchdog startup failed: cannot load ipmi_watchdog module" &&
|
||||
return
|
||||
if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then
|
||||
mknod -m 0600 /dev/watchdog c 10 130
|
||||
[ $? -ne 0 ] &&
|
||||
RETVAL=$((RETVAL | 8)) &&
|
||||
echo "Watchdog startup failed: cannot create /dev/watchdog" &&
|
||||
return
|
||||
fi
|
||||
}
|
||||
|
||||
start_watchdog_quiet()
|
||||
{
|
||||
[ "${IPMI_WATCHDOG}" != "yes" ] &&
|
||||
return
|
||||
start_watchdog_common
|
||||
}
|
||||
|
||||
start_watchdog()
|
||||
{
|
||||
[ "${IPMI_WATCHDOG}" != "yes" ] &&
|
||||
RETVAL=$((RETVAL | 2)) &&
|
||||
echo "Watchdog not configured" &&
|
||||
return
|
||||
start_watchdog_common
|
||||
}
|
||||
|
||||
stop_watchdog()
|
||||
{
|
||||
modprobe -q -r ipmi_watchdog > /dev/null 2>&1
|
||||
modules_loaded ipmi_watchdog
|
||||
if [ ${OnePlusLoaded} -ne 0 ]; then
|
||||
RETVAL=$((RETVAL | 32))
|
||||
echo "Watchog shutdown failed: cannot unload ipmi_watchdog module"
|
||||
else
|
||||
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
|
||||
[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
stop_watchdog_quiet()
|
||||
{
|
||||
modprobe -q -r ipmi_watchdog > /dev/null 2>&1
|
||||
modules_loaded ipmi_watchdog
|
||||
if [ ${OnePlusLoaded} -ne 0 ]; then
|
||||
RETVAL=$((RETVAL | 32))
|
||||
else
|
||||
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
|
||||
[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
start_powercontrol_common()
|
||||
{
|
||||
local poweroff_opts=""
|
||||
load_hw_modules
|
||||
if [ "${IPMI_POWERCYCLE}" == "yes" ]; then
|
||||
modinfo ipmi_poweroff 2>/dev/null | grep poweroff_control > /dev/null 2>&1 && \
|
||||
poweroff_opts="poweroff_control=2"
|
||||
modinfo ipmi_poweroff 2>/dev/null | grep poweroff_powercycle > /dev/null 2>&1 && \
|
||||
poweroff_opts="poweroff_powercycle=1"
|
||||
fi
|
||||
modprobe ipmi_poweroff "${poweroff_opts}" > /dev/null 2>&1
|
||||
modules_loaded ipmi_poweroff
|
||||
[ ${OnePlusUnloaded} -ne 0 ] &&
|
||||
RETVAL=$((RETVAL | 2)) &&
|
||||
echo "Powercontroll startup failed: cannot load ipmi_poweroff module" &&
|
||||
return
|
||||
}
|
||||
|
||||
start_powercontrol_quiet()
|
||||
{
|
||||
[ "${IPMI_POWEROFF}" != "yes" ] &&
|
||||
return
|
||||
start_powercontrol_common
|
||||
}
|
||||
|
||||
start_powercontrol()
|
||||
{
|
||||
[ "${IPMI_POWEROFF}" != "yes" ] &&
|
||||
RETVAL=$((RETVAL | 2)) &&
|
||||
echo "Powercontroll not configured" &&
|
||||
return
|
||||
start_powercontrol_common
|
||||
}
|
||||
|
||||
stop_powercontrol()
|
||||
{
|
||||
modprobe -q -r ipmi_poweroff > /dev/null 2>&1
|
||||
modules_loaded ipmi_poweroff
|
||||
if [ ${OnePlusLoaded} -ne 0 ]; then
|
||||
RETVAL=$((RETVAL | 32))
|
||||
echo "Powercontroll shutdown failed: cannot unload ipmi_poweroff module"
|
||||
fi
|
||||
}
|
||||
|
||||
stop_powercontrol_quiet()
|
||||
{
|
||||
modprobe -q -r ipmi_poweroff > /dev/null 2>&1
|
||||
modules_loaded ipmi_poweroff
|
||||
[ ${OnePlusLoaded} -ne 0 ] && RETVAL=$((RETVAL | 32))
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
unload_all_ipmi_modules()
|
||||
{
|
||||
stop_watchdog_quiet
|
||||
stop_powercontrol_quiet
|
||||
for m in ${MODULES}; do
|
||||
modprobe -q -r ${m} > /dev/null 2>&1
|
||||
done
|
||||
# delete interface node ONLY if ipmi_devintf is unloaded
|
||||
[ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
|
||||
rm -f "/dev/ipmi${INTF_NUM}"
|
||||
}
|
||||
|
||||
unload_ipmi_modules_leave_features()
|
||||
{
|
||||
for m in ${MODULES_INTERFACES}; do
|
||||
modprobe -q -r ${m} > /dev/null 2>&1
|
||||
done
|
||||
# delete interface node ONLY if ipmi_devintf is unloaded
|
||||
[ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
|
||||
rm -f "/dev/ipmi${INTF_NUM}"
|
||||
lsmod | egrep -q "ipmi_(poweroff|watchdog)" > /dev/null 2>&1
|
||||
if [ "$?" -ne "0" ]; then
|
||||
stop_watchdog_quiet
|
||||
stop_powercontrol_quiet
|
||||
for m in ${MODULES}; do
|
||||
modprobe -q -r ${m} > /dev/null 2>&1
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
load_ipmi_modules ()
|
||||
{
|
||||
local locdelay
|
||||
modprobe ipmi_msghandler > /dev/null 2>&1
|
||||
modules_loaded ipmi_msghandler
|
||||
[ ${OnePlusLoaded} -ne 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
|
||||
load_hw_modules
|
||||
[ $((RETVAL & 1)) -eq 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
|
||||
|
||||
if [ "${DEV_IPMI}" = "yes" ]; then
|
||||
modprobe ipmi_devintf > /dev/null 2>&1
|
||||
modules_loaded ipmi_devintf
|
||||
RETVAL=$((RETVAL & ~2))
|
||||
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
|
||||
if [ ${OnePlusLoaded} -eq 1 ]; then
|
||||
if [ ${UDEV_EXISTS} -eq 0 ]; then
|
||||
DEVMAJOR=`cat /proc/devices | awk '/ipmidev/{print $1}'`
|
||||
rm -f /dev/ipmi${INTF_NUM}
|
||||
mknod -m 0600 /dev/ipmi${INTF_NUM} c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
|
||||
# udev can take several seconds to create /dev/ipmi0,
|
||||
# but it happens asynchronously, so delay here
|
||||
locdelay=${DEV_IPMI_TIMEOUT}
|
||||
while [ ! -e /dev/ipmi${INTF_NUM} -a ${locdelay} -gt 0 ]; do
|
||||
locdelay=$((locdelay - 1))
|
||||
sleep 0.1
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${IPMI_IMB}" = "yes" ]; then
|
||||
modprobe ipmi_imb > /dev/null 2>&1
|
||||
modules_loaded ipmi_imb
|
||||
RETVAL=$((RETVAL & ~2))
|
||||
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
|
||||
if [ ${OnePlusLoaded} -eq 1 ]; then
|
||||
DEVMAJOR=`cat /proc/devices | awk '/imb/{print $1}'`
|
||||
rm -f /dev/imb
|
||||
mknod -m 0600 /dev/imb c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
fi
|
||||
|
||||
# Per Corey Minyard, essentially no one uses ipmi_radisys
|
||||
# and we don't want to encourage its further use
|
||||
# so it won't be handled here.
|
||||
return
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
start()
|
||||
{
|
||||
load_ipmi_modules
|
||||
if [ ${RETVAL} -eq 0 ]; then
|
||||
touch ${LOCKFILE}
|
||||
else
|
||||
if [ $((RETVAL & 1)) -eq 1 ]; then
|
||||
echo "Startup failed."
|
||||
else
|
||||
touch ${LOCKFILE} && echo "Warning!?"
|
||||
fi
|
||||
fi
|
||||
start_watchdog_quiet
|
||||
start_powercontrol_quiet
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
stop()
|
||||
{
|
||||
unload_ipmi_modules_leave_features
|
||||
modules_loaded ${MODULES_INTERFACES}
|
||||
if [ ${OnePlusLoaded} -ne 0 ]; then
|
||||
RETVAL=$((RETVAL | 32))
|
||||
echo "Shutdown failed, something may be in use"
|
||||
else
|
||||
rm -f ${LOCKFILE}
|
||||
fi
|
||||
}
|
||||
|
||||
stop_all()
|
||||
{
|
||||
unload_all_ipmi_modules
|
||||
modules_loaded ${MODULES}
|
||||
if [ ${OnePlusLoaded} -ne 0 ]; then
|
||||
RETVAL=$((RETVAL | 32))
|
||||
echo "Shutdown failed, something may be in use"
|
||||
else
|
||||
rm -f ${LOCKFILE}
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
restart()
|
||||
{
|
||||
stop_all
|
||||
RETVAL=0
|
||||
start
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
|
||||
reload()
|
||||
{
|
||||
stop_all
|
||||
RETVAL=0
|
||||
start
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
|
||||
status_all()
|
||||
{
|
||||
minimum_modules_loaded
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
|
||||
|
||||
modules_loaded_verbose ${MODULES_FEATURES} ${MODULES_INTERFACES}
|
||||
[ ${OnePlusUnloaded} -ne 0 ] && RETVAL=$((RETVAL | 2))
|
||||
|
||||
if [ "${DEV_IPMI}" = "yes" ]; then
|
||||
device_node_exists /dev/ipmi${INTF_NUM}
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
|
||||
if [ "${IPMI_IMB}" = "yes" ]; then
|
||||
device_node_exists /dev/imb
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
|
||||
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
|
||||
device_node_exists /dev/watchdog
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
|
||||
fi
|
||||
|
||||
[ ! -e ${LOCKFILE} ] && RETVAL=$((RETVAL | 16))
|
||||
}
|
||||
|
||||
status()
|
||||
{
|
||||
minimum_modules_loaded
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
|
||||
|
||||
if [ "${DEV_IPMI}" = "yes" ]; then
|
||||
modules_loaded_verbose ipmi_devintf
|
||||
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
|
||||
|
||||
device_node_exists /dev/ipmi${INTF_NUM}
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
|
||||
if [ "${IPMI_IMB}" = "yes" ]; then
|
||||
device_node_exists /dev/imb
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
|
||||
fi
|
||||
}
|
||||
|
||||
status_watchdog()
|
||||
{
|
||||
minimum_modules_loaded
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
|
||||
|
||||
modules_loaded_verbose ipmi_watchdog
|
||||
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
|
||||
|
||||
device_node_exists /dev/watchdog
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
|
||||
}
|
||||
|
||||
status_powercontrol()
|
||||
{
|
||||
minimum_modules_loaded
|
||||
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
|
||||
|
||||
modules_loaded_verbose ipmi_powercontrol
|
||||
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
usage ()
|
||||
{
|
||||
echo $"Usage: $0 {start|stop|status" 1>&2
|
||||
echo $" restart|condrestart|try-restart|reload|force-reload" 1>&2
|
||||
echo $" start-watchdog|stop-watchdog|status-watchdog" 1>&2
|
||||
echo $" start-powercontrol|stop-powercontrol|status-powercontrol" 1>&2
|
||||
echo $" stop-all|status-all}" 1>&2
|
||||
RETVAL=2
|
||||
}
|
||||
|
||||
condrestart ()
|
||||
{
|
||||
[ -e ${LOCKFILE} ] && restart
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# MAIN
|
||||
#############################################################################
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) restart ;;
|
||||
force-reload) reload ;;
|
||||
reload) reload ;;
|
||||
status) status ;;
|
||||
status-all) status_all ;;
|
||||
condrestart) condrestart ;;
|
||||
try-restart) condrestart ;;
|
||||
start-watchdog) start_watchdog ;;
|
||||
stop-watchdog) stop_watchdog ;;
|
||||
status-watchdog) status_watchdog ;;
|
||||
start-powercontrol) start_powercontrol ;;
|
||||
stop-powercontrol) stop_powercontrol ;;
|
||||
status-powercontrol) status_powercontrol ;;
|
||||
stop-all) stop_all ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
|
||||
exit ${RETVAL}
|
||||
|
||||
#############################################################################
|
||||
# end of file
|
||||
#############################################################################
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user