projects
/
xremote.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added a bit of documentation.
[xremote.git]
/
xremote.sh
diff --git
a/xremote.sh
b/xremote.sh
index
ecc1473
..
83f984e
100755
(executable)
--- a/
xremote.sh
+++ b/
xremote.sh
@@
-34,7
+34,7
@@
function check_remote_is_defined () {
function help () {
cat <<EOF
function help () {
cat <<EOF
-xremote.sh <
executable
>
+xremote.sh <
script
>
This script takes a script as argument and executes it remotely in a
temporary directory on a ssh-accessible server.
This script takes a script as argument and executes it remotely in a
temporary directory on a ssh-accessible server.
@@
-50,7
+50,8
@@
xremote.sh <executable>
Example:
@XREMOTE_HOST: elk.fleuret.org
Example:
@XREMOTE_HOST: elk.fleuret.org
- @XREMOTE_SEND: mnist.py
+ @XREMOTE_EXEC: python3
+ @XREMOTE_SEND: main.cf
@XREMOTE_GET: *.dat
@XREMOTE_PRE: ln -s /home/fleuret/data/pytorch ./data
@XREMOTE_GET: *.dat
@XREMOTE_PRE: ln -s /home/fleuret/data/pytorch ./data
@@
-94,6
+95,11
@@
do
case "${label}" in
case "${label}" in
+ EXEC)
+ check_remote_is_defined
+ REMOTE_EXEC="${value}"
+ ;;
+
PRE)
check_remote_is_defined
ssh < /dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${value}"
PRE)
check_remote_is_defined
ssh < /dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${value}"
@@
-101,7
+107,7
@@
do
SEND)
check_remote_is_defined
SEND)
check_remote_is_defined
- tar c
"${value}"
| ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
+ tar c
${value}
| ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
;;
HOST)
;;
HOST)
@@
-109,7
+115,7
@@
do
REMOTE_HOST="${value}"
[[ "${REMOTE_HOST}" ]] || REMOTE_HOST="${XREMOTE_HOST}"
[[ "${REMOTE_HOST}" ]] || (echo "No remote host specified." >&2 && exit 1)
REMOTE_HOST="${value}"
[[ "${REMOTE_HOST}" ]] || REMOTE_HOST="${XREMOTE_HOST}"
[[ "${REMOTE_HOST}" ]] || (echo "No remote host specified." >&2 && exit 1)
- REMOTE_DIR="$(ssh </dev/null "${REMOTE_HOST}" mktemp -d /tmp/xremote.from_"$(hostname)_$(date +%Y%m%d)".XXXXXX)"
+ REMOTE_DIR="$(ssh </dev/null "${REMOTE_HOST}" mktemp -d /tmp/xremote.from_"$(hostname)_$(date +%Y%m%d
-%H%M%S
)".XXXXXX)"
;;
esac
fi
;;
esac
fi
@@
-122,10
+128,17
@@
check_remote_is_defined
tar c "${main}" | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
tar c "${main}" | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
+echo "On ${REMOTE_HOST}"
+
+if [[ "${REMOTE_EXEC}" ]]
+then
+ REMOTE_COMMAND="${REMOTE_EXEC} ${main}"
+else
+ REMOTE_COMMAND="./${main}"
+fi
+
echo "----------------------------------------------------------------------"
echo "----------------------------------------------------------------------"
-echo "-- On ${REMOTE_HOST}"
-echo "----------------------------------------------------------------------"
-ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ./$(basename "${main}")"
+ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${REMOTE_COMMAND}"
echo "----------------------------------------------------------------------"
######################################################################
echo "----------------------------------------------------------------------"
######################################################################
@@
-143,7
+156,7
@@
do
case "${label}" in
GET)
check_remote_is_defined
case "${label}" in
GET)
check_remote_is_defined
- ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar c ${value}" | tar mxv
+ ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar
2>/dev/null
c ${value}" | tar mxv
;;
esac
fi
;;
esac
fi