Trabalhando com init no Debian
Este artigo irá tratar de scripts de inicialização e manipulação relacionados ao init, como: rcconf, update-rc.d, sysv-rc-conf, sysvconfig, invoke-rc.d, na unha, scripts service, script de um rc.local para o Debian.
Parte 7: Service Script2
#!/bin/sh
VERSION="`basename $0` ver. 0.91"
USAGE="Uso: `basename $0` < option > | --status-all |
[ service_name [ command | --full-restart ] ]"
SERVICE=
SERVICEDIR="/etc/init.d"
if [ $# -eq 0 ]; then
echo "${USAGE}" >&2
exit 1
fi
while [ $# -gt 0 ]
do
case "${1}" in
--help | -h | --h* )
echo "${USAGE}" >&2
exit 0
;;
--version | -V )
echo "${VERSION}" >&2
exit 0
;;
*)
if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
cd "${SERVICEDIR}"
for SERVICE in *; do
case "${SERVICE}" in
functions | halt | killall | single| linuxconf| kudzu |
*rpmorig | *rpmnew | *rpmsave | *~ | *.orig)
;;
*)
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" status
fi
;;
esac
done
exit 0
elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
SERVICE="${1}"
cd "${SERVICEDIR}"
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" stop
"${SERVICEDIR}/${SERVICE}" start
exit $?
fi
elif [ -z "${SERVICE}" ]; then
SERVICE="${1}"
else
OPTIONS="${OPTIONS} ${1}"
fi
shift
;;
esac
done
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" ${OPTIONS}
else
echo "${SERVICE}: Servico desconhecido" >&2
exit 1
fi
VERSION="`basename $0` ver. 0.91"
USAGE="Uso: `basename $0` < option > | --status-all |
[ service_name [ command | --full-restart ] ]"
SERVICE=
SERVICEDIR="/etc/init.d"
if [ $# -eq 0 ]; then
echo "${USAGE}" >&2
exit 1
fi
while [ $# -gt 0 ]
do
case "${1}" in
--help | -h | --h* )
echo "${USAGE}" >&2
exit 0
;;
--version | -V )
echo "${VERSION}" >&2
exit 0
;;
*)
if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
cd "${SERVICEDIR}"
for SERVICE in *; do
case "${SERVICE}" in
functions | halt | killall | single| linuxconf| kudzu |
*rpmorig | *rpmnew | *rpmsave | *~ | *.orig)
;;
*)
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" status
fi
;;
esac
done
exit 0
elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
SERVICE="${1}"
cd "${SERVICEDIR}"
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" stop
"${SERVICEDIR}/${SERVICE}" start
exit $?
fi
elif [ -z "${SERVICE}" ]; then
SERVICE="${1}"
else
OPTIONS="${OPTIONS} ${1}"
fi
shift
;;
esac
done
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
"${SERVICEDIR}/${SERVICE}" ${OPTIONS}
else
echo "${SERVICE}: Servico desconhecido" >&2
exit 1
fi