Added a bit of documentation.
authorFrancois Fleuret <francois@fleuret.org>
Thu, 13 Jul 2017 19:11:01 +0000 (21:11 +0200)
committerFrancois Fleuret <francois@fleuret.org>
Thu, 13 Jul 2017 19:11:01 +0000 (21:11 +0200)
README.md [new file with mode: 0644]
example.py [new file with mode: 0755]

diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..dc0a2d1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,48 @@
+
+# Introduction #
+
+This is a very simple bash script to run scripts on a remote machine
+accessible by ssh, send required files, and get back result files
+transparently.
+
+It creates a temporary files in /tmp/ on the remote host and run
+everything in it.
+
+I use it mostly to launch heavy training with pytorch on a PC at home.
+
+# Example #
+
+With
+
+```
+xremote.sh ./example.py
+```
+
+where [`example.py`](https://fleuret.org/git-extract/xremote/example.py) is the file given with `xremote.sh`:
+
+
+```
+#!/usr/bin/env python
+
+# @XREMOTE_HOST: elk
+# @XREMOTE_EXEC: python3
+# @XREMOTE_GET: *.txt
+# @XREMOTE_SEND: *.py
+# @XREMOTE_PRE: ls -lt > files.txt
+
+print('I am being executed!')
+
+file = open('result.txt', 'w')
+file.write('This is a text.\n')
+file.close()
+```
+
+`xremote.sh` will:
+
+ 1. create a temporary directory on the remote host 'elk'
+ 2. copy there the file example.py,
+ 3. copy there files from the local dir with the .py extension,
+ 4. list all files on the remote side into the file files.txt,
+ 5. execute example.p on the remote side,
+ 6. get back all the files with the .txt extension,
+ 7. delete the working directory on the remote side.
diff --git a/example.py b/example.py
new file mode 100755 (executable)
index 0000000..d545018
--- /dev/null
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+# @XREMOTE_HOST: elk
+# @XREMOTE_EXEC: python3
+# @XREMOTE_GET: *.txt
+# @XREMOTE_SEND: *.py
+# @XREMOTE_PRE: ls -lt > files.txt
+
+print('I am being executed!')
+
+file = open('result.txt', 'w')
+file.write('This is a text.\n')
+file.close()