diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2020-06-07 22:48:17 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2020-06-07 22:48:17 +0200 |
commit | 1e26db53d594a6cc057b81116db5888527d19b0f (patch) | |
tree | 0a82d8c232eeebce1a276888f1245d7f45e0ecb4 | |
parent | 9e7ca7538e2f96fda9cbdc126887afc8d7d15b11 (diff) | |
download | ltask-1e26db53d594a6cc057b81116db5888527d19b0f.tar.gz |
Readme
-rw-r--r-- | Readme.md | 30 |
1 files changed, 27 insertions, 3 deletions
@@ -9,13 +9,23 @@ lightweight remote task management -H HOST Add HOST to target hosts. can be used to target single hosts without defining a custom target + -p Force parallel execution -h print this help text +## Output + +All output from targets is printed to `STDOUT`, prefixed by the hostname. +This also includes text sent to `STDERR`, which is prefixed by `[ERR]`. +Text is displayed "as it comes", not sorted by host. +If required, this can be done afterwards with tools such as `grep` +Status and error messages are printed to `STDERR`. +In Linear execution mode, ltask displays a progress meter. ## How it works -`ltask` executes scripts (`tasks`) on remote hosts and hostgroups (`targets`) vis SSH. -Tasks can be written in sh or bash. -Only the interpreter and an ssh-key accessible user account has to be set up on the target. +`ltask` executes scripts (`tasks`) on remote hosts and hostgroups (`targets`) via SSH, +either linearly if user input is required, or in parallel. +Tasks and targets are written in bash, thus are very flexible. +No special Software is required, neither on the host nor on the target. ### Tasks @@ -34,6 +44,7 @@ Reference for environment variables SSH_IDENTITY path to ssh-key used for authentification of specified user FILES Array of Files to copy over before script invocation INCLUDES Array of libraries to include + PARALLEL Enable parallel execution (true/[false]) # Available in setup ASSET_DIR paht to folder where eg keys are stored @@ -41,6 +52,8 @@ Reference for environment variables Tasks are stored in `tasks/` +[Example](tasks/example) + ### Targets Targets define hostgroups for tasks to target. @@ -51,6 +64,17 @@ The port should only be specified if != 22 to avoid double mentions. Targets are stored in `targets/` +[Example](targets/example) + +### Libraries + +Libraries are scripts which are executed on the remote host before the main task. +Their purpose is to define generic interfaces for different types of hosts. + +Libraries are stored in `libs/` + +[Example](libs/pkgmanager) + ## License This program is free software: you can redistribute it and/or modify |