Browse Source

Functional SIP run and shutdown scripts. Update example SIPconfig.xml

Note the shutdown script is quick and dirty, and probably
platform (debian) specific.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
3.2.x
Joe Atzberger (siptest 15 years ago
committed by Galen Charlton
parent
commit
ddc6310673
  1. 24
      C4/SIP/SIPconfig.xml
  2. 37
      C4/SIP/sip_run.sh
  3. 19
      C4/SIP/sip_shutdown.sh

24
C4/SIP/SIPconfig.xml

@ -1,5 +1,5 @@
<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
<!-- FIXME: above address gets nothing? -->
<!-- above address gets nothing, it's just a namespace -->
<error-detect enabled="true" />
<!-- Set Net::Server::PreFork runtime parameters -->
@ -36,37 +36,39 @@
delimiter="|" error-detect="enabled" institution="LPL" />
</accounts>
<!-- Institution tags will hold stuff used to interface to -->
<!-- the rest of the ILS: authentication parameters, etc. I -->
<!-- don't know what yet, so it'll just be blank. But there -->
<!-- needs to be one institution stanza for each institution -->
<!-- named in the accounts above. -->
<!--
Institution tags are for enabled branches. There needs to be one
institution stanza for each institution named in the accounts above.
The implementation attribute is actually used to find the code to run,
in our case "ILS".
-->
<institutions>
<institution id="MAIN" implementation="ILS" parms="">
<policy checkin="true" renewal="true"
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="CPL" implementation="ILS" parms="">
<policy checkin="true" renewal="true"
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="25"
retries="5" />
</institution>
<institution id="kohalibrary" implementation="ILS" parms="">
<policy checkin="true" renewal="false"
<policy checkin="true" renewal="false" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="kohalibrary2" implementation="ILS" parms="">
<policy checkin="true" renewal="false"
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="3" />
</institution>
<institution id="LPL" implementation="ILS">
<policy checkin="true" renewal="false"
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="5" />
</institution>

37
C4/SIP/sip_run.sh

@ -0,0 +1,37 @@
#!/bin/bash
#
# A sample script for starting SIP.
# You probably want to specify new log destinations.
#
# Takes 3 optional arguments:
# ~ SIPconfig.xml file to use
# ~ file for STDOUT, default ~/sip.out
# ~ file for STDERR, default ~/sip.err
#
# The STDOUT and STDERR files are only for the SIPServer process itself.
# Actual SIP communication and transaction logs are handled by Syslog.
#
# Examples:
# sip_run.sh /path/to/SIPconfig.xml
# sip_run.sh ~/my_sip/SIPconfig.xml sip_out.log sip_err.log
for x in HOME PERL5LIB KOHA_CONF ; do
echo $x=${!x}
if [ -z ${!x} ] ; then
echo ERROR: $x not defined;
exit 1;
fi;
done;
unset x;
cd $PERL5LIB/C4/SIP;
echo;
echo Running from `pwd`;
sipconfig=${1:-`pwd`/SIPconfig.xml};
outfile=${2:-$HOME/sip.out};
errfile=${3:-$HOME/sip.err};
echo "Calling (backgrounded):";
echo "perl -I./ ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile";
perl -I./ ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile &

19
C4/SIP/sip_shutdown.sh

@ -0,0 +1,19 @@
#!/bin/bash
. $HOME/.bash_profile
# this is brittle: the primary server must have the lowest PPID
# this is brittle: ps behavior is very platform-specific, only tested on Debian Etch
target="SIPServer";
PROCPID=$(ps x -o pid,ppid,args --sort ppid | grep "$target" | grep -v grep | head -1 | awk '{print $1}');
if [ ! $PROCPID ] ; then
echo "No processes found for $target";
exit;
fi
echo "SIP Processes for this user ($USER):";
ps x -o pid,ppid,args --sort ppid | grep "$target" | grep -v grep ;
echo "Killing process #$PROCPID";
kill $PROCPID;
Loading…
Cancel
Save