Remote executor for slurp
This commit is contained in:
47
slurpy
Executable file
47
slurpy
Executable 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user