#!/bin/tcsh # # chkconfig: - 98 98 # description: update sectors 33 & 34 EPICS data to RRD data files # # processname: epics2rrd ########### SVN repository information ################### # $Date: 2011-01-18 23:24:51 +0000 (Tue, 18 Jan 2011) $ # $Author: jemian $ # $Revision: 235 $ # $HeadURL$ # $Id: epics2rrd.csh 235 2011-01-18 23:24:51Z jemian $ ########### SVN repository information ################### if (`uname -n` == "ipnspool3.xor.aps.anl.gov") then /bin/echo "Support does not run on this host now" exit endif # preferred EPICS paths setenv EPICS_BASE /APSshare/epics/base-3.14.11 setenv BIN_PATH ${EPICS_BASE}/bin/solaris-x86-v10 setenv LD_LIBRARY_PATH ${EPICS_BASE}/lib/solaris-x86-v10 # make sure our preferred EPICS paths are visited early setenv PATH ${BIN_PATH}:${PATH} setenv PATH ${LD_LIBRARY_PATH}:${PATH} # local install of Matt Newville's EpicsCA (Python binding) for EPICS Channel Access setenv EPICS_CA_MAX_ARRAY_BYTES 140000 setenv PYTHONPATH ~/lib/lib/python setenv PYTHON /usr/local/bin/python # RRD resources setenv RRD_LOGS_BASE_DIR /home/joule/WEB33/www/rrd setenv SCRIPT ${RRD_LOGS_BASE_DIR}/epics2rrd.py setenv LOGFILE ${RRD_LOGS_BASE_DIR}/epics2rrd.log setenv PIDFILE ${RRD_LOGS_BASE_DIR}/epics2rrd.pid setenv SNAME $0 setenv SELECTION $1 /bin/echo "#${SNAME} ${SELECTION} (enter)=======================================" >>& ${LOGFILE} /bin/echo "# date: `date`" >>& ${LOGFILE} /bin/echo "# env: `env`" >>& ${LOGFILE} /bin/echo "# path: ${PATH}" >>& ${LOGFILE} /bin/echo "#${SNAME} <${SELECTION}> +++++++++++++++++++++++++++++++++++++++" >>& ${LOGFILE} switch (${SELECTION}) case "start": ${PYTHON} ${SCRIPT} >>& ${LOGFILE} & setenv PID $! /bin/rm ${PIDFILE} /bin/echo ${PID} > ${PIDFILE} /bin/echo "# started ${PID}: ${PYTHON} ${SCRIPT}" breaksw case "stop": setenv PID `/bin/cat ${PIDFILE}` /bin/ps -p ${PID} > /dev/null setenv NOT_EXISTS $? if (${NOT_EXISTS}) then /bin/echo "# not running ${PID}: ${SCRIPT}" else kill ${PID} /bin/echo "# stopped ${PID}: ${SCRIPT}" endif breaksw case "restart": ${SNAME} stop >>& ${LOGFILE} ${SNAME} start >>& ${LOGFILE} breaksw default: /bin/echo "Usage: ${SNAME} {start|stop|restart}" /bin/echo "Usage: ${SNAME} {start|stop|restart}" >>& ${LOGFILE} & breaksw endsw /bin/echo "#${SNAME} ${SELECTION} (exit)=======================================" >>& ${LOGFILE}