Remote executor for slurp

This commit is contained in:
ville rantanen
2013-07-05 16:27:34 +03:00
parent dfab784a33
commit 26d65646ef

47
slurpy Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
if [ -z "$1" ]
then echo provide the script to run
exit 1
fi
JOBPATH="$( pwd )/.slurpies"
mkdir -p "$JOBPATH"
JOBNAME=job_$( date +"%y%m%d%H%M%S%N" )
JOBFILE="$JOBPATH/$JOBNAME"
DONEFILE="$JOBPATH/$JOBNAME.done"
COMPPATH=$3
echo Job: $JOBFILE
echo "#!/bin/sh" > "$JOBFILE"
for (( i=1; i<=$#; i++ ))
do if [ $i -eq 5 ]
then echo -n \" >> "$JOBFILE"
eval echo -n ${!i} | sed s,\",\\\\\",g >> "$JOBFILE"
echo -n "\" " >> "$JOBFILE"
elif [ $i -eq 6 ]
then echo -n ${!i} >> "$JOBFILE"
else echo -n "\"${!i}\" " >> "$JOBFILE"
fi
done
echo "" >> "$JOBFILE"
echo 'find "'$COMPPATH'" > "'$DONEFILE'"' >> "$JOBFILE"
chmod 775 "$JOBFILE"
slurp "$JOBFILE"
sleep 1
# pause to make sure NFS has time to sync
while [ ! -e "$DONEFILE" ]
do sleep 5
done
DONE=0
IFS=$'\n'
while [ $DONE -eq 0 ]
do sleep 10
DONEITER=1
for f in $( cat "$DONEFILE" )
do [[ -a "$f" ]] || DONEITER=0
done
[[ $DONEITER -eq 1 ]] && DONE=1
done