#!/bin/sh #---------------------------------------------------------------------------- # eisfair_tarball - wrapper to provide eisfair_tarball.sh # # Creation : 2013-06-23 hbfl # Last Update: $Id$ # # Copyright (c) 2013-2013 the eisfair team, team(at)eisfair(dot)org # # Usage : eisfair_tarball $packages # or # eisfair_tarball # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. #---------------------------------------------------------------------------- start_folder='/project/eis/cron_scripts' tarball_repo='intern' tarball_script='eisfair_tarball.sh' HOSTNAME=$(hostname) cd ${start_folder} ## check for running PIDFILE="${start_folder}/eisfair_tarball.pid" exclusiv=1 if [ -f ${PIDFILE} ] then pid=$(cat ${PIDFILE}) # get info, if running without info line, # like 'PID TTY TIME CMD' _running=$(ps -p ${pid} -o comm=) if [ -z "${_running}" ] then rm ${PIDFILE} exclusiv=1 else case ${_running} in 'eisfair_tarball') exclusiv=0 ;; *) rm ${PIDFILE} exclusiv=1 ;; esac fi fi if [ "$exclusiv" = "0" ] then if [ "${SSH_CLIENT}" = "" ] then { echo "From: Tarball Agent " echo "To: " echo "Subject: nightly-tarball report $(date +%Y%m%d)" echo "Mime-Version: 1.0" echo "X-Mailer: sendmail Tarball on eisler" echo "Content-Type: text/plain; charset=UTF-8" echo "Content-Transfer-Encoding: quoted-printable" echo echo echo "Dispatched from Tarball Agent on Server '${HOSTNAME}'" echo "Current Date: $(date +%Y-%m-%d) Time: $(date +%H:%M:%S)" echo echo Tarball already in progress! echo Nightly tarball failed! } | /usr/sbin/sendmail eisfair-dev@eisler.nettworks.org else echo echo Tarball already in progress! echo Please try again later. echo fi exit 1 fi # PID echo "$$" > ${PIDFILE} chmod 0664 ${PIDFILE} # get eisfair_tarball.sh from repo rm -f ${tarball_repo}/${tarball_script} svn --quiet up ${tarball_repo}/${tarball_script} svn_ret=${?} chmod 0664 ${tarball_repo}/${tarball_script} if [ "${svn_ret}" -ne "0" ] then if [ "${SSH_CLIENT}" = "" ] then { echo "From: Tarball Agent " echo "To: " echo "Subject: nightly-tarball report $(date +%Y%m%d)" echo "Mime-Version: 1.0" echo "X-Mailer: sendmail Tarball on eisler" echo "Content-Type: text/plain; charset=UTF-8" echo "Content-Transfer-Encoding: quoted-printable" echo echo echo "Dispatched from Tarball Agent on Server '${HOSTNAME}'" echo "Current Date: $(date +%Y-%m-%d) Time: $(date +%H:%M:%S)" echo echo SVN checkout failed echo Nightly tarball failed! } | /usr/sbin/sendmail eisfair-dev@eisler.nettworks.org else echo echo SVN checkout faild echo Please try again later. echo fi exit 1 fi # create correct link rm -f ${tarball_script} ln -sf ${tarball_repo}/${tarball_script} if [ "${SSH_CLIENT}" = "" ] then sh ./${tarball_script} ${@} >cron-master-$$ 2>&1 chmod 0664 cron-master-$$ else sh ./${tarball_script} ${@} fi # error-report if [ "${SSH_CLIENT}" = "" ] then if [ -s cron-master-$$ ] then { echo "From: Tarball Agent " echo "To: " echo "Subject: nightly-tarball report $(date +%Y%m%d)" echo "Mime-Version: 1.0" echo "X-Mailer: sendmail Tarball on eisler" echo "Content-Type: text/plain; charset=UTF-8" echo "Content-Transfer-Encoding: quoted-printable" echo echo echo "Dispatched from Tarball Agent on Server '${HOSTNAME}'" echo "Current Date: $(date +%Y-%m-%d) Time: $(date +%H:%M:%S)" echo echo "eisfair_tarball error" echo cat cron-master-$$ } | /usr/sbin/sendmail eisfair-dev@eisler.nettworks.org fi else if [ -s cron-master-$$ ] then more cron-master-$$ fi fi rm -f ${PIDFILE} rm -f cron-master-$$