-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchirpd
executable file
·46 lines (40 loc) · 1.34 KB
/
chirpd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
#
# /etc/init.d/chirpd - Start/stop all chirp daemons for authorized users.
#
# The following two lines allow this script to be managed by Fedora's chkconfig program.
#
# chkconfig: 345 99 99
# description: Starts and stop chirp servers for all users
chirp_users() {
mkdir -p /var/log/chirp >/dev/null 2>&1
catalog_server & > /var/log/chirp/chirp_catalog.log 2>&1
getent group authorized | cut -d: -f4 | tr , '\012' | sort | while read authuser; do
su - $authuser sh -c "chirp_server --advertise=stash.osgconnect.net --root=file:///data/user/$authuser/ --port=`id -u $authuser` -c /data/user/$authuser&" > /var/log/chirp/chirp.$authuser.log 2>&1
done
getent group staff | cut -d: -f4 | tr , '\012' | sort | while read staffuser; do
su - $staffuser sh -c "chirp_server --advertise=stash.osgconnect.net --root=file:///data/user/$staffuser --port=`id -u $staffuser` -c /data/users/$authuser &" > /var/log/chirp/chirp.$staffuser.log 2>&1
done
}
start () {
chirp_users
}
stop () {
pkill chirp_server
pkill catalog_server
}
restart () {
echo 'Stopping chirpd processes...'
stop
echo 'Pausing...'
sleep 5
echo 'Starting chirpd processes...'
start
}
cmd="$1"; [ -n "$cmd" ] && shift 1;
case "$cmd" in
start) start "$@";;
stop) stop "$@";;
restart) restart "$@";;
*) echo >&2 "usage: $0 {start | stop | restart}";;
esac