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>
This commit is contained in:
parent
a13c0db0c9
commit
ddc6310673
3 changed files with 69 additions and 11 deletions
|
@ -1,5 +1,5 @@
|
||||||
<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
|
<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" />
|
<error-detect enabled="true" />
|
||||||
|
|
||||||
<!-- Set Net::Server::PreFork runtime parameters -->
|
<!-- Set Net::Server::PreFork runtime parameters -->
|
||||||
|
@ -36,37 +36,39 @@
|
||||||
delimiter="|" error-detect="enabled" institution="LPL" />
|
delimiter="|" error-detect="enabled" institution="LPL" />
|
||||||
</accounts>
|
</accounts>
|
||||||
|
|
||||||
<!-- Institution tags will hold stuff used to interface to -->
|
<!--
|
||||||
<!-- the rest of the ILS: authentication parameters, etc. I -->
|
Institution tags are for enabled branches. There needs to be one
|
||||||
<!-- don't know what yet, so it'll just be blank. But there -->
|
institution stanza for each institution named in the accounts above.
|
||||||
<!-- needs to be one institution stanza for each institution -->
|
The implementation attribute is actually used to find the code to run,
|
||||||
<!-- named in the accounts above. -->
|
in our case "ILS".
|
||||||
|
-->
|
||||||
|
|
||||||
<institutions>
|
<institutions>
|
||||||
<institution id="MAIN" implementation="ILS" parms="">
|
<institution id="MAIN" implementation="ILS" parms="">
|
||||||
<policy checkin="true" renewal="true"
|
<policy checkin="true" renewal="true" checkout="true"
|
||||||
status_update="false" offline="false"
|
status_update="false" offline="false"
|
||||||
timeout="100"
|
timeout="100"
|
||||||
retries="5" />
|
retries="5" />
|
||||||
</institution>
|
</institution>
|
||||||
<institution id="CPL" implementation="ILS" parms="">
|
<institution id="CPL" implementation="ILS" parms="">
|
||||||
<policy checkin="true" renewal="true"
|
<policy checkin="true" renewal="true" checkout="true"
|
||||||
status_update="false" offline="false"
|
status_update="false" offline="false"
|
||||||
timeout="25"
|
timeout="25"
|
||||||
retries="5" />
|
retries="5" />
|
||||||
</institution>
|
</institution>
|
||||||
<institution id="kohalibrary" implementation="ILS" parms="">
|
<institution id="kohalibrary" implementation="ILS" parms="">
|
||||||
<policy checkin="true" renewal="false"
|
<policy checkin="true" renewal="false" checkout="true"
|
||||||
status_update="false" offline="false"
|
status_update="false" offline="false"
|
||||||
timeout="100"
|
timeout="100"
|
||||||
retries="5" />
|
retries="5" />
|
||||||
</institution>
|
</institution>
|
||||||
<institution id="kohalibrary2" implementation="ILS" parms="">
|
<institution id="kohalibrary2" implementation="ILS" parms="">
|
||||||
<policy checkin="true" renewal="false"
|
<policy checkin="true" renewal="false" checkout="true"
|
||||||
timeout="100"
|
timeout="100"
|
||||||
retries="3" />
|
retries="3" />
|
||||||
</institution>
|
</institution>
|
||||||
<institution id="LPL" implementation="ILS">
|
<institution id="LPL" implementation="ILS">
|
||||||
<policy checkin="true" renewal="false"
|
<policy checkin="true" renewal="false" checkout="true"
|
||||||
timeout="100"
|
timeout="100"
|
||||||
retries="5" />
|
retries="5" />
|
||||||
</institution>
|
</institution>
|
||||||
|
|
37
C4/SIP/sip_run.sh
Executable file
37
C4/SIP/sip_run.sh
Executable file
|
@ -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
Executable file
19
C4/SIP/sip_shutdown.sh
Executable file
|
@ -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…
Reference in a new issue