Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/sh
- ### BEGIN INIT INFO
- # Provides: radosgw
- # Required-Start: $remote_fs $named $network $time
- # Required-Stop: $remote_fs $named $network $time
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: radosgw RESTful rados gateway
- ### END INIT INFO
- PATH=/sbin:/bin:/usr/bin
- . /lib/lsb/init-functions
- # prefix for radosgw instances in ceph.conf
- PREFIX='client.radosgw.'
- # user to run radosgw as (it not specified in ceph.conf)
- DEFAULT_USER='www-data'
- # directory to write logs to
- LOGDIR='/var/log/radosgw'
- RADOSGW=`which radosgw`
- if [ ! -x "$RADOSGW" ]; then
- exit 0
- fi
- # make sure log dir exists
- if [ ! -d "$LOGDIR" ]; then
- mkdir -p $LOGDIR
- fi
- case "$1" in
- start)
- for name in `ceph-conf --list-sections $PREFIX`;
- do
- auto_start=`ceph-conf -n $name 'auto start'`
- if [ "$auto_start" = "no" ] || [ "$auto_start" = "false" ] || [ "$auto_start" = "0" ]; then
- continue
- fi
- # is the socket defined? if it's not, this instance shouldn't run as a daemon.
- rgw_socket=`ceph-conf -n $name 'rgw socket path'`
- if [ -z "$rgw_socket" ]; then
- continue
- fi
- # mapped to this host?
- host=`ceph-conf -n $name host`
- if [ "$host" != `hostname` ]; then
- continue
- fi
- user=`ceph-conf -n $name user`
- if [ -z "$user" ]; then
- user="$DEFAULT_USER"
- fi
- log_file=`ceph-conf -n $name log_file`
- if [ -n "$log_file" ] && [ ! -e "$log_file" ]; then
- touch "$log_file"
- chown $user $log_file
- fi
- echo "Starting $name..."
- start-stop-daemon --start -u $user -x $RADOSGW -- -n $name
- done
- ;;
- reload)
- echo "Reloading $name..."
- start-stop-daemon --signal HUP -x $RADOSGW --oknodo
- ;;
- restart|force-reload)
- $0 stop
- $0 start
- ;;
- stop)
- start-stop-daemon --stop -x $RADOSGW --oknodo
- ;;
- *)
- echo "Usage: $0 start|stop|restart" >&2
- exit 3
- ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement