Guest User

mfs master init.d

a guest
Jun 14th, 2013
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.80 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ### BEGIN INIT INFO
  4. # Provides:             mfs-master
  5. # Required-Start:       $network $remote_fs
  6. # Required-Stop:        $remote_fs
  7. # Default-Start:        2 3 4 5
  8. # Default-Stop:         0 1 6
  9. # Short-Description:    Start mfs-master at boot time
  10. # Description:          mfs-master provides metadata management for MooseFS.
  11. ### END INIT INFO
  12.  
  13. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  14. DAEMON=/usr/sbin/mfsmaster
  15. NAME=mfs-master-foo
  16. DESC=mfs-master-foo
  17. DEFAULT_USER=mfs
  18. DEFAULT_GROUP=mfs
  19. DEFAULT_DATADIR=/srv/mfs/foo
  20. MFSMASTER_CONFIG_FILE=/etc/mfs/foo/mfsmaster.cfg
  21.  
  22. test -e $DAEMON || exit 0
  23. test -e $MFSMASTER_CONFIG_FILE || exit 0
  24.  
  25. . /lib/lsb/init-functions
  26.  
  27. set -e
  28.  
  29. if [ -s "$MFSMASTER_CONFIG_FILE" ]; then
  30.         DATADIR=$(sed -e 's/[   ]#.*$//' -n -e 's/^DATA_PATH[   ]*=[    ]*\([^  ]*\)[   ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
  31.         MFSUSER=$(sed -e 's/[   ]#.*$//' -n -e 's/^WORKING_USER[        ]*=[    ]*\([^  ]*\)[   ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
  32.         MFSGROUP=$(sed -e 's/[  ]#.*$//' -n -e 's/^WORKING_GROUP[       ]*=[    ]*\([^  ]*\)[   ]*$/\1/p' "$MFSMASTER_CONFIG_FILE")
  33. else
  34.         DATADIR=
  35.         MFSUSER=
  36.         MFSGROUP=
  37. fi
  38. : ${DATADIR:=$DEFAULT_DATADIR}
  39. : ${MFSUSER:=$DEFAULT_USER}
  40. : ${MFSGROUP:=$DEFAULT_GROUP}
  41.  
  42. check_dirs()
  43. {
  44.         # check that the metadata dir exists
  45.         if [ ! -d "$DATADIR" ]; then
  46.                 exit 1
  47.         fi
  48.         chmod 0755 "$DATADIR"
  49.         chown -R $MFSUSER:$MFSGROUP "$DATADIR"
  50.         if [ ! -e "$DATADIR"/metadata.mfs ]; then
  51.                 if [ ! -e "$DATADIR"/metadata.mfs.back ]; then
  52.                         echo "MFSM NEW" > "$DATADIR"/metadata.mfs
  53.                 fi
  54.         fi
  55. }
  56.  
  57. case "$1" in
  58.         start)
  59.                 check_dirs
  60.                 echo "Starting $DESC:"
  61.                 $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} $DAEMON_OPTS start
  62.                 ;;
  63.  
  64.         stop)
  65.                 echo "Stopping $DESC:"
  66.                 $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} stop
  67.                 ;;
  68.  
  69.         reload|force-reload)
  70.                 echo "Reloading $DESC:"
  71.                 $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} reload
  72.                 ;;
  73.  
  74.         status)
  75.                 set +e
  76.                 test -d $DATADIR || exit 1
  77.                 $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} test && exit 1
  78.                 ;;
  79.  
  80.         restart)
  81.                 echo "Restarting $DESC:"
  82.                 $DAEMON ${MFSMASTER_CONFIG_FILE:+-c $MFSMASTER_CONFIG_FILE} restart
  83.                 ;;
  84.  
  85.         *)
  86.                 N=/etc/init.d/$NAME
  87.                 echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
  88.                 exit 1
  89.                 ;;
  90. esac
  91.  
  92. exit 0
Advertisement
Add Comment
Please, Sign In to add comment