4 OPT_SIP_CONFIG="SYSCONFDIR/oils_sip.xml"
5 OPT_PID_DIR="LOCALSTATEDIR/run"
6 OPT_SIP_ERR_LOG="LOCALSTATEDIR/log/oils_sip.log";
7 OPT_Z3950_CONFIG="SYSCONFDIR/oils_z3950.xml"
8 OPT_YAZ_CONFIG="SYSCONFDIR/oils_yaz.xml"
9 Z3950_LOG="LOCALSTATEDIR/log/oils_z3950.log"
10 SIP_DIR="/opt/SIPServer";
11 if [ -z "${PERL5LIB}" ]; then
12 export PERL5LIB="${SIP_DIR}"
14 if ! grep -q "${SIP_DIR}" <<< "${PERL5LIB}"; then
15 PERL5LIB="${PERL5LIB}:${SIP_DIR}"
19 # ---------------------------------------------------------------------------
20 # Make sure we're running as the correct user
21 # ---------------------------------------------------------------------------
22 [ $(whoami) != 'opensrf' ] && echo 'Must run as user "opensrf"' && exit;
27 echo "usage: $0 -d <pid_dir> -s <sip_config> -z <z3950_config> -y <yaz_config> -a <action> -l <sip_err_log>";
29 echo "Actions include:"
32 echo -e "\trestart_sip"
33 echo -e "\tstart_z3950"
34 echo -e "\tstop_z3950"
35 echo -e "\trestart_z3950"
38 echo -e "\trestart_all"
43 # ---------------------------------------------------------------------------
44 # Load the command line options and set the global vars
45 # ---------------------------------------------------------------------------
46 while getopts "a:d:s:l:y:z:" flag; do
48 "a") OPT_ACTION="$OPTARG";;
49 "s") OPT_SIP_CONFIG="$OPTARG";;
50 "d") OPT_PID_DIR="$OPTARG";;
51 "l") OPT_SIP_ERR_LOG="$OPTARG";;
52 "z") OPT_Z3950_CONFIG="$OPTARG";;
53 "y") OPT_YAZ_CONFIG="$OPTARG";;
59 [ -z "$OPT_PID_DIR" ] && OPT_PID_DIR=/tmp;
60 [ -z "$OPT_ACTION" ] && usage;
62 PID_SIP="$OPT_PID_DIR/oils_sip.pid";
63 PID_Z3950="$OPT_PID_DIR/oils_z3950.pid";
65 # ---------------------------------------------------------------------------
66 # Utility code for checking the PID files
67 # ---------------------------------------------------------------------------
74 if [ $action == "start" ]; then
76 if [ -e $pidfile ]; then
78 echo "$item already started : $pid";
81 echo "Starting $item";
84 if [ $action == "stop" ]; then
86 if [ ! -e $pidfile ]; then
87 echo "$item not running";
92 echo "Stopping $item : $pid";
102 # ---------------------------------------------------------------------------
103 # Start / Stop functions
104 # ---------------------------------------------------------------------------
108 do_action "start" $PID_SIP "OILS SIP Server";
111 perl SIPServer.pm "$OPT_SIP_CONFIG" >> "$OPT_SIP_ERR_LOG" 2>&1 &
114 echo $pid > $PID_SIP;
119 do_action "stop" $PID_SIP "OILS SIP Server";
123 function start_z3950 {
124 do_action "start" $PID_Z3950 "OILS Z39.50 Server";
125 simple2zoom -c $OPT_Z3950_CONFIG -- -f $OPT_YAZ_CONFIG >> "$Z3950_LOG" 2>&1 &
127 echo $pid > $PID_Z3950;
131 function stop_z3950 {
132 do_action "stop" $PID_Z3950 "OILS Z39.50 Server";
137 # ---------------------------------------------------------------------------
138 # Do the requested action
139 # ---------------------------------------------------------------------------
141 "start_sip") start_sip;;
142 "stop_sip") stop_sip;;
143 "restart_sip") stop_sip; start_sip;;
144 "start_z3950") start_z3950;;
145 "stop_z3950") stop_z3950;;
146 "restart_z3950") stop_z3950; start_z3950;;
147 "start_all") start_sip; start_z3950;;
148 "stop_all") stop_sip; stop_z3950;;
149 "restart_all") stop_sip; stop_z3950; start_sip; start_z3950;;