#!/bin/bash source /sw/taurus/tools/pika/pika-current.conf DEBUG_PATH=/tmp/pika_control.out function pika_clean() { rm -rf /tmp/pika_* rm -rf /opt/pika/* } function pika_status() { COLLECTD_PID=`ps -eo pid,cmd | grep -v grep | grep "pika_collectd" | awk '{print $1}'` # check if COLLECTD_PID is empty if [ -z "$COLLECTD_PID" ]; then echo "PIKA collectd is not running." else echo "PIKA collectd is running. PID=$COLLECTD_PID" fi } function pika_install() { mkdir -p ${PIKA_INSTALL_PATH} echo -e "tar xzf ${PIKA_PACKAGE_PATH} -C ${PIKA_INSTALL_PATH}/.." tar xzf ${PIKA_PACKAGE_PATH} -C ${PIKA_INSTALL_PATH}/.. } function pika_start() { DAEMON="${PIKA_INSTALL_PATH}/collectd/${COLLECTD_VERSION}/sbin/collectd -C ${PIKA_COLLECTD_CONF} -P ${PIKA_COLLECTD_PID_FILE}" touch $DEBUG_PATH source ${PIKA_ROOT}/job_control/slurm/taurus/pika_start_collectd.sh cat $DEBUG_PATH rm -f $DEBUG_PATH } function pika_stop() { source ${PIKA_ROOT}/job_control/slurm/taurus/pika_stop_collectd.sh } if [ ! $# -eq 1 ]; then echo "One argument required!" echo "./pika_control [status|purge|install|start|stop]" else case "$1" in status) pika_status ;; purge) pika_stop pika_clean ;; install) pika_stop pika_clean pika_install ;; start) pika_stop if [ ! -d "${PIKA_INSTALL_PATH}" ]; then pika_install fi pika_start ;; stop) pika_stop ;; *) echo "$1 is not supported." ;; esac fi