1790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#!/bin/sh
2790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#
3790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# Copyright (C) 2009, Cisco Systems Inc.
4790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#  Garrett Cooper, August 2009
5790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# Copyright (C) 2012-2014 Linux Test Project
6790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#
7790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# This program is free software; you can redistribute it and/or modify
8790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# it under the terms of the GNU General Public License as published by
9790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# the Free Software Foundation; either version 2 of the License, or
10790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# (at your option) any later version.
11790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#
12790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# This program is distributed in the hope that it will be useful,
13790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# but WITHOUT ANY WARRANTY; without even the implied warranty of
14790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# GNU General Public License for more details.
16790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#
17790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# You should have received a copy of the GNU General Public License along
18790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# with this program; if not, write to the Free Software Foundation, Inc.,
19790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis#
21790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
22790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# running under systemd?
23790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisif command -v systemctl >/dev/null 2>&1; then
24790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	HAVE_SYSTEMCTL=1
25790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubiselse
26790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	HAVE_SYSTEMCTL=0
27790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisfi
28790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
29790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# Check to see if syslogd, syslog-ng or rsyslogd exists
30790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril HrubisSYSLOG_DAEMON=""
31790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisif command -v syslogd >/dev/null 2>&1; then
32790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	SYSLOG_DAEMON="syslog"
33790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubiselif command -v syslog-ng >/dev/null 2>&1; then
34790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	SYSLOG_DAEMON="syslog-ng"
35790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubiselif command -v rsyslogd >/dev/null 2>&1; then
36790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	SYSLOG_DAEMON="rsyslog"
37790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisfi
38790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
39790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis# Check to see if cron or crond exists
40790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril HrubisCROND_DAEMON=""
41790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisif command -v crond >/dev/null 2>&1; then
42790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	CROND_DAEMON="crond"
43790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubiselif command -v cron >/dev/null 2>&1; then
44790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	CROND_DAEMON="cron"
45790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisfi
46790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
47790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisstart_daemon()
48790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis{
49790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	if [ $HAVE_SYSTEMCTL -eq 1 ]; then
50790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		systemctl start $1.service > /dev/null 2>&1
51150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	elif command -v service &> /dev/null; then
52790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		service $1 start > /dev/null 2>&1
53150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	else
54150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez		/etc/init.d/$1 start > /dev/null 2>&1
55790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	fi
56790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis}
57790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
58790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisstop_daemon()
59790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis{
60790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	if [ $HAVE_SYSTEMCTL -eq 1 ]; then
61790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		systemctl stop $1.service > /dev/null 2>&1
62150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	elif command -v service &> /dev/null; then
63790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		service $1 stop > /dev/null 2>&1
64150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	else
65150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez		/etc/init.d/$1 stop > /dev/null 2>&1
66790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	fi
67790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis}
68790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
69790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisstatus_daemon()
70790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis{
71790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	if [ $HAVE_SYSTEMCTL -eq 1 ]; then
72790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		systemctl status $1.service > /dev/null 2>&1
73150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	elif command -v service &> /dev/null; then
74790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		service $1 status > /dev/null 2>&1
75150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	else
76150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez		/etc/init.d/$1 status > /dev/null 2>&1
77790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	fi
78790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis}
79790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis
80790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubisrestart_daemon()
81790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis{
82790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	if [ $HAVE_SYSTEMCTL -eq 1 ]; then
83790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		systemctl restart $1.service > /dev/null 2>&1
84150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	elif command -v service &> /dev/null; then
85790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis		service $1 restart > /dev/null 2>&1
86150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez	else
87150eb75529467974f82907adb5168e6ad575e581Carlos Hernandez		/etc/init.d/$1 restart > /dev/null 2>&1
88790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis	fi
89790407496b324fc7cc0b99c17c72ac0f82d420d9Cyril Hrubis}
90