Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides: mfs-master
- # Required-Start: $network $remote_fs
- # Required-Stop: $remote_fs
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Start mfs-master at boot time
- # Description: mfs-master provides metadata management for MooseFS.
- ### END INIT INFO
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- DAEMON=/usr/sbin/mfsmaster
- NAME=mfs-master-foo
- DESC=mfs-master-foo
- DEFAULT_USER=mfs
- DEFAULT_GROUP=mfs
- DEFAULT_DATADIR=/srv/mfs/foo
- MFSMASTER_CONFIG_FILE=/etc/mfs/foo/mfsmaster.cfg
- test -e $DAEMON || exit 0
- test -e $MFSMASTER_CONFIG_FILE || exit 0
- . /lib/lsb/init-functions
- set -e
- if [ -s "$MFSMASTER_CONFIG_FILE" ]; then
- DATADIR=$(sed -e 's/[ ]#.*$//' -n -e 's/^DATA_PATH[ ]*=[ ]*\([^ ]*\)[ ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
- MFSUSER=$(sed -e 's/[ ]#.*$//' -n -e 's/^WORKING_USER[ ]*=[ ]*\([^ ]*\)[ ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
- MFSGROUP=$(sed -e 's/[ ]#.*$//' -n -e 's/^WORKING_GROUP[ ]*=[ ]*\([^ ]*\)[ ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
- else
- DATADIR=
- MFSUSER=
- MFSGROUP=
- fi
- : ${DATADIR:=$DEFAULT_DATADIR}
- : ${MFSUSER:=$DEFAULT_USER}
- : ${MFSGROUP:=$DEFAULT_GROUP}
- check_dirs()
- {
- # check that the metadata dir exists
- if [ ! -d "$DATADIR" ]; then
- exit 1
- fi
- chmod 0755 "$DATADIR"
- chown -R $MFSUSER:$MFSGROUP "$DATADIR"
- if [ ! -e "$DATADIR"/metadata.mfs ]; then
- if [ ! -e "$DATADIR"/metadata.mfs.back ]; then
- echo "MFSM NEW" > "$DATADIR"/metadata.mfs
- fi
- fi
- }
- case "$1" in
- start)
- check_dirs
- echo "Starting $DESC:"
- $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} $DAEMON_OPTS start
- ;;
- stop)
- echo "Stopping $DESC:"
- $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} stop
- ;;
- reload|force-reload)
- echo "Reloading $DESC:"
- $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} reload
- ;;
- status)
- set +e
- test -d $DATADIR || exit 1
- $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} test && exit 1
- ;;
- restart)
- echo "Restarting $DESC:"
- $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} restart
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
- exit 1
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment