public
Description: snippets for FreeBSD
Homepage:
Clone URL: git://github.com/CharlyBr/freebsd-snippets.git
freebsd-snippets / mmemcached
eb6dddf6 » CharlyBr 2008-09-30 add mmemcached 1 #!/bin/sh
2 #
3 # PROVIDE: mmemcached
4 # REQUIRE: DAEMON
5 #
6 # Add the following lines to /etc/rc.conf to enable mmemcached:
7 #
8 # mmemcached_enable (bool): Set it to "YES" to enable postfix.
9 # Default is "NO".
10 # mmemcached_servers (numbers): Set list of servers to create
11 # list of numbers used in ports configuration
12 # "1 2" will start daemons on ports 11211 and 11212
13 # mmemcached_user (str): Set user that runs the daemon(s)
14 # -u username
15 # Default is nobody
16 # mmemcached_args (str): Flags passed to memcached daemon
17 # Default are "-c 8192 -m 64 -d".
18 #
19 # notes:
20 # mkdir /var/run/memcached
21 # chown nobody /var/run/memcached/ # if nobody is the user that runs the daemon(s)
22
23 . /etc/rc.subr
24
25 name="mmemcached"
26 rcvar=`set_rcvar`
27
28 load_rc_config $name
29
30 : ${mmemcached_servers="1"}
31 : ${mmemcached_user="nobody"}
32 : ${mmemcached_args="-c 8192 -m 64 -d"}
33
34 command=/usr/local/bin/memcached
35 command_args="-u ${mmemcached_user} ${mmemcached_args}"
36
37 start_cmd=${name}_start
38 stop_cmd=${name}_stop
39 extra_commands="reload"
40
41 mmemcached_start() {
42 for server in ${mmemcached_servers}; do
43 echo "lauching $server : ${command_args} :: ${mmemcached_args}"
44 ${command} ${command_args} -p 1121${server} -P /var/run/memcached/memcached_1121${server}.pid
45 done
46 }
47
48 mmemcached_stop() {
49 for server in ${mmemcached_servers}; do
50 if [ -e /var/run/memcached/memcached_1121${server}.pid ]; then
51 kill `cat /var/run/memcached/memcached_1121${server}.pid`
52 rm /var/run/memcached/memcached_1121${server}.pid
53 else
54 echo "pid file not found"
55 fi
56 done
57 }
58
59 run_rc_command "$1"