#!/bin/bash # Makes sure there's only one copy of krenew running at any given time for # a file in /tmp/krb5cc_* . Can then be referenced in an alias efficiently. DATE=`date '+%Y-%m-%d %H:%M:%S'` FILE="/tmp/krb5cc_$1" PIDFILE="${FILE}.pid" LOGFILE="${FILE}.log" KRENEW_ARGS="-K 10 -t -v -p ${PIDFILE}" if [ "x$1" == "x" ] ; then echo "Usage: $0 USER" exit 0 fi if [ ! -f ${FILE} ] ; then if [ ! "$PLATFORM" = "macosx" ]; then echo "No ticket cache to work with: ${FILE}" exit 0 fi fi touch ${LOGFILE} if [ ! -f ${PIDFILE} ] ; then echo "${DATE} Starting new krenew" | tee -a ${LOGFILE} touch ${LOGFILE} krenew ${KRENEW_ARGS} >> ${LOGFILE} 2>&1 & else PID=`cat ${PIDFILE}` if kill -0 ${PID} 2>/dev/null; then echo "${DATE} Already running (pid ${PID})" | tee -a ${LOGFILE} else echo "${DATE} Restarting krenew" | tee -a ${LOGFILE} krenew ${KRENEW_ARGS} >> ${LOGFILE} 2>&1 & fi fi