Cosmetics.
[xremote.git] / xremote.sh
index 59e588c..dca62c6 100755 (executable)
@@ -50,7 +50,8 @@ xremote.sh <script>
   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
 
@@ -66,7 +67,7 @@ EOF
 function cleanup_remote_tmp () {
     if [[ "${REMOTE_HOST}" ]] && [[ "${REMOTE_DIR}" ]]
     then
-        echo "Clean up remote workdir."
+        echo "xremote: Clean up remote workdir."
         ssh "${REMOTE_HOST}" "rm -rf \"${REMOTE_DIR}\""
     fi
 }
@@ -106,15 +107,15 @@ do
 
             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)
                 [[ "${REMOTE_DIR}" ]] && (exit "Remote host already defined!" >&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_HOST}" ]] || (echo "xremote: No remote host specified." >&2 && exit 1)
+                REMOTE_DIR="$(ssh </dev/null "${REMOTE_HOST}" mktemp -d /tmp/xremote.from_"$(hostname)_$(date +%Y%m%d-%H%M%S)".XXXXXX)"
                 ;;
         esac
     fi
@@ -127,9 +128,7 @@ check_remote_is_defined
 
 tar c "${main}" | ssh "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && tar mx"
 
-echo "----------------------------------------------------------------------"
-echo "-- On ${REMOTE_HOST}"
-echo "----------------------------------------------------------------------"
+echo "xremote: on ${REMOTE_HOST}"
 
 if [[ "${REMOTE_EXEC}" ]]
 then
@@ -138,13 +137,15 @@ else
     REMOTE_COMMAND="./${main}"
 fi
 
+echo "xremote: -- stdout ---------------------------------------------------"
 ssh </dev/null "${REMOTE_HOST}" "cd \"${REMOTE_DIR}\" && ${REMOTE_COMMAND}"
-echo "----------------------------------------------------------------------"
 
 ######################################################################
 
 # Disable globbing to keep wildcards for the remote side
 
+echo "xremote: -- retrieve results -----------------------------------------"
+
 set -f
 
 while read line
@@ -156,7 +157,7 @@ do
         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
@@ -164,4 +165,6 @@ done < "${main}"
 
 set +f
 
+echo "xremote: -- finished -------------------------------------------------"
+
 ######################################################################