You are not logged in.

#1 2005-03-15 16:04:13

xerverius
Member
From: ~
Registered: 2004-11-02
Posts: 230
Website

etc/rc.d service shortcut

Quickly start services by running service <name> {start | stop | restart}

I've seen this future on my trustix server and copied it to arch linux, i think it's very usefull.

Create a file named service in /sbin/ and insert the following text:

#!/bin/sh

# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
export PATH

VERSION="`basename $0` ver. 0.91"
USAGE="Usage: `basename $0` < option > | --status-all | 
[ service_name [ command | --full-restart ] ]"
SERVICE=
SERVICEDIR="/etc/rc.d"
OPTIONS=

if [ $# -eq 0 ]; then
   echo $"${USAGE}" >&2
   exit 1
fi

cd /
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
                  env -i LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" status
                fi
                ;;
            esac
          done
          exit 0
       elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
          SERVICE="${1}"
          if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
            env -i LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" stop
            env -i LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" start
            exit $?
          fi
       elif [ -z "${SERVICE}" ]; then
         SERVICE="${1}"
       else
         OPTIONS="${OPTIONS} ${1}"
       fi
       shift
       ;;
   esac
done

if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
   env -i LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" ${OPTIONS}
else
   echo $"${SERVICE}: unrecognized service" >&2
   exit 1
fi

I hope you enjoy it smile.

Offline

#2 2005-03-16 03:35:18

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: etc/rc.d service shortcut

nice

Offline

#3 2005-03-16 04:59:58

Shofs
Member
From: Central Illinois
Registered: 2004-12-15
Posts: 184

Re: etc/rc.d service shortcut

Too bad I have a box named start and need to

ssh start

big_smile

Just kidding. I didn't even read the code so I don't know if that would even be a problem.

I actually like the idea of being able to do that.

Offline

#4 2005-03-16 17:18:57

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: etc/rc.d service shortcut

hmmmm you can switch the stop-then-start to restart, as all arch services understand "restart"...
also, there is no "status" so you can remove all that junk

Offline

Board footer

Powered by FluxBB