-#!/bin/bash -l
+#! /bin/bash -lx
set -u
SCRIPTNAME="$(basename "${0}")"
if test "$(dnsdomainname)" = "in2p3.fr"
then
OUTPUTDIR=$(mktemp -d -p "${MACRODIR}" run.XXXX || error "can't create temp dir")
- ssh -i ${HOME}/.ssh/ccin2p3 linux1.dg.creatis.insa-lyon.fr mkdir -p "cc/$(basename ${OUTPUTDIR})"
else
- OUTPUTDIR=$(mktemp --tmpdir=${MACRODIR} -d run.XXXX || error "can't create temp dir")
+ unamestr=`uname`
+ if [[ "$unamestr" == 'Darwin' ]]; then
+ ## On OSX (Darwin), mktemp version is different from Linux version . We
+ ## need the absolute folder here
+ OUTPUTDIR=$(mktemp -d run.XXXX || error "can't create temp dir")
+ OUTPUTDIR=${MACRODIR}/${OUTPUTDIR}
+ else
+ OUTPUTDIR=$(mktemp --tmpdir=${MACRODIR} -d run.XXXX || error "can't create temp dir")
+ fi
+ echo $OUTPUTDIR
fi
test -d ${OUTPUTDIR} || error "can't locate output dir"
RUNID=${OUTPUTDIR##*.}
# Copy macros files (for log)
mkdir ${OUTPUTDIR}/mac
cp ${MACROFILE} ${OUTPUTDIR}/mac
+cp mac/* ${OUTPUTDIR}/mac/
files=`grep "control/execute" ${MACROFILE} | cut -d " " -f 2`
for i in $files
do
- echo $i
cp $i ${OUTPUTDIR}/mac
done
while test $NJOBS -gt 0; do
+ if [ "$PARAM" = "\"\"" ]
+ then
+ JPARAM="-a [JOB_ID,${NJOBS}]"
+ else
+ JPARAM="${PARAM} [JOB_ID,${NJOBS}]"
+ fi
+
if test "${QSUB}" = "noqsub"
then
echo "Launching Gate log in ${OUTPUTDIR}/gate_${NJOBS}.log"
- PARAM=\"${PARAM}\" INDEX=${NJOBS} INDEXMAX=${NJOBSMAX} OUTPUTDIR=${OUTPUTDIR} RELEASEDIR=${RELEASEDIR} MACROFILE=${MACROFILE} MACRODIR=${MACRODIR} PBS_JOBID="local_${NJOBS}" bash "${JOBFILE}" > ${OUTPUTDIR}/gate_${NJOBS}.log &
+ PARAM=\"${JPARAM}\" INDEX=${NJOBS} INDEXMAX=${NJOBSMAX} OUTPUTDIR=${OUTPUTDIR} RELEASEDIR=${RELEASEDIR} MACROFILE=${MACROFILE} MACRODIR=${MACRODIR} PBS_JOBID="local_${NJOBS}" bash "${JOBFILE}" > ${OUTPUTDIR}/gate_${NJOBS}.log &
elif test "$(dnsdomainname)" = "in2p3.fr"
then
PROJECTGROUP=creatis
qsub -o "${OUTPUTDIR}" \
+ -e "${OUTPUTDIR}" \
+ -l sps=1 \
-N "gate.${RUNID}" \
- -v "PARAM=\"${PARAM}\",INDEX=${NJOBS},INDEXMAX=${NJOBSMAX},OUTPUTDIR=${OUTPUTDIR},RELEASEDIR=${RELEASEDIR},MACROFILE=${MACROFILE},MACRODIR=${MACRODIR}" \
+ -v "PARAM=\"${JPARAM}\",INDEX=${NJOBS},INDEXMAX=${NJOBSMAX},OUTPUTDIR=${OUTPUTDIR},RELEASEDIR=${RELEASEDIR},MACROFILE=${MACROFILE},MACRODIR=${MACRODIR}" \
"${JOBFILE}" || error "submission error"
else
- qsub -N "gatejob.${RUNID}" -o "${OUTPUTDIR}" \
- -v "PARAM=${PARAM},INDEX=${NJOBS},INDEXMAX=${NJOBSMAX},OUTPUTDIR=${OUTPUTDIR},RELEASEDIR=${RELEASEDIR},MACROFILE=${MACROFILE},MACRODIR=${MACRODIR}" \
- "${JOBFILE}" || error "submission error"
+ qsub -N "gatejob.${RUNID}" -o "${OUTPUTDIR}" \
+ -v "PARAM=${PARAM},INDEX=${NJOBS},INDEXMAX=${NJOBSMAX},OUTPUTDIR=${OUTPUTDIR},RELEASEDIR=${RELEASEDIR},MACROFILE=${MACROFILE},MACRODIR=${MACRODIR}" \
+ "${JOBFILE}" || error "submission error"
fi
let NJOBS--
done
echo "runid is ${RUNID}"
-if test "$(dnsdomainname)" = "in2p3.fr"
-then
- rsync -av --remove-source-files -e "ssh -i ${HOME}/.ssh/ccin2p3" ${OUTPUTDIR}/ "linux1.dg.creatis.insa-lyon.fr:./cc/$(basename ${OUTPUTDIR})" --exclude '.__afs*' --exclude "${OUTPUTDIR}/gatejob.*.o*"
-fi