-
-
Save jnbek/3581652 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ss23@Crisp /etc/init.d $ cat vixie-cron | |
#!/sbin/runscript | |
# Copyright 1999-2011 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/vixie-cron.rc7,v 1.1 2011/12/31 14:58:21 idl0r Exp $ | |
command=/usr/sbin/cron | |
pidfile=/var/run/cron.pid | |
depend() { | |
use clock logger | |
need localmount | |
provide cron | |
} | |
ss23@Crisp /etc/init.d $ cat apache2 | |
#!/sbin/runscript | |
# Copyright 1999-2011 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
extra_commands="configtest modules virtualhosts" | |
extra_started_commands="configdump fullstatus graceful gracefulstop reload" | |
description_configdump="Dumps the configuration of the runing apache server. Requires server-info to be enabled and www-client/lynx." | |
description_configtest="Run syntax tests for configuration files." | |
description_fullstatus="Gives the full status of the server. Requires lynx and server-status to be enabled." | |
description_graceful="A graceful restart advises the children to exit after the current request and reloads the configuration." | |
description_gracefulstop="A graceful stop advises the children to exit after the current request and stops the server." | |
description_modules="Dump a list of loaded Static and Shared Modules." | |
description_reload="Kills all children and reloads the configuration." | |
description_virtualhosts="Show the settings as parsed from the config file (currently only shows the virtualhost settings)." | |
description_stop="Kills all children and stops the server." | |
depend() { | |
need net | |
use mysql dns logger netmount postgresql | |
after sshd | |
} | |
configtest() { | |
ebegin "Checking ${SVCNAME} configuration" | |
checkconfig | |
eend $? | |
} | |
checkconfd() { | |
if [ ! -f /etc/init.d/sysfs ]; then | |
eerror "This init script works only with openrc (baselayout-2)." | |
eerror "If you still need baselayout-1.x, please, use" | |
eerror "apache2.initd-baselayout-1 from /usr/share/doc/apache2-*/" | |
fi | |
PIDFILE="${PIDFILE:-/var/run/apache2.pid}" | |
TIMEOUT=${TIMEOUT:-15} | |
SERVERROOT="${SERVERROOT:-/usr/lib64/apache2}" | |
if [ ! -d ${SERVERROOT} ]; then | |
eerror "SERVERROOT does not exist: ${SERVERROOT}" | |
return 1 | |
fi | |
CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}" | |
[ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}" | |
if [ ! -r "${CONFIGFILE}" ]; then | |
eerror "Unable to read configuration file: ${CONFIGFILE}" | |
return 1 | |
fi | |
APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}" | |
APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}" | |
[ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}" | |
APACHE2="/usr/sbin/apache2" | |
} | |
checkconfig() { | |
checkconfd || return 1 | |
${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1 | |
ret=$? | |
if [ $ret -ne 0 ]; then | |
eerror "${SVCNAME} has detected an error in your setup:" | |
${APACHE2} ${APACHE2_OPTS} -t | |
fi | |
return $ret | |
} | |
start() { | |
checkconfig || return 1 | |
ebegin "Starting ${SVCNAME}" | |
# Use start stop daemon to apply system limits #347301 | |
start-stop-daemon --start -- ${APACHE2} ${APACHE2_OPTS} -k start | |
i=0 | |
while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do | |
sleep 1 && i=$(expr $i + 1) | |
done | |
eend $(test $i -lt ${TIMEOUT}) | |
} | |
stop() { | |
if [ "${RC_CMD}" = "restart" ]; then | |
checkconfig || return 1 | |
else | |
checkconfd || return 1 | |
fi | |
PID=$(cat "${PIDFILE}" 2>/dev/null) | |
if [ -z "${PID}" ]; then | |
einfo "${SVCNAME} not running (no pid file)" | |
return 0 | |
fi | |
ebegin "Stopping ${SVCNAME}" | |
${APACHE2} ${APACHE2_OPTS} -k stop | |
i=0 | |
while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \ | |
&& [ $i -lt ${TIMEOUT} ]; do | |
sleep 1 && i=$(expr $i + 1) | |
done | |
eend $(test $i -lt ${TIMEOUT}) | |
} | |
reload() { | |
RELOAD_TYPE="${RELOAD_TYPE:-graceful}" | |
checkconfig || return 1 | |
if [ "${RELOAD_TYPE}" = "restart" ]; then | |
ebegin "Restarting ${SVCNAME}" | |
${APACHE2} ${APACHE2_OPTS} -k restart | |
eend $? | |
elif [ "${RELOAD_TYPE}" = "graceful" ]; then | |
ebegin "Gracefully restarting ${SVCNAME}" | |
${APACHE2} ${APACHE2_OPTS} -k graceful | |
eend $? | |
else | |
eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}" | |
fi | |
} | |
graceful() { | |
checkconfig || return 1 | |
ebegin "Gracefully restarting ${SVCNAME}" | |
${APACHE2} ${APACHE2_OPTS} -k graceful | |
eend $? | |
} | |
gracefulstop() { | |
checkconfig || return 1 | |
ebegin "Gracefully stopping ${SVCNAME}" | |
${APACHE2} ${APACHE2_OPTS} -k graceful-stop | |
eend $? | |
} | |
modules() { | |
checkconfig || return 1 | |
${APACHE2} ${APACHE2_OPTS} -M 2>&1 | |
} | |
fullstatus() { | |
LYNX="${LYNX:-lynx -dump}" | |
STATUSURL="${STATUSURL:-http://localhost/server-status}" | |
if ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then | |
eerror "lynx not found! you need to emerge www-client/lynx" | |
else | |
${LYNX} ${STATUSURL} | |
fi | |
} | |
virtualhosts() { | |
checkconfig || return 1 | |
${APACHE2} ${APACHE2_OPTS} -S | |
} | |
configdump() { | |
LYNX="${LYNX:-lynx -dump}" | |
INFOURL="${INFOURL:-http://localhost/server-info}" | |
checkconfd || return 1 | |
if ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then | |
eerror "lynx not found! you need to emerge www-client/lynx" | |
else | |
echo "${APACHE2} started with '${APACHE2_OPTS}'" | |
for i in config server list; do | |
${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q' | |
done | |
fi | |
} | |
# vim: ts=4 filetype=gentoo-init-d |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment