[NEW] - Multiple hostfiles can now be passed via the -i option. The argument can be the name of a single file or a quoted list of files. The option can appear on the command line multiple times. -H and -i can be used together to create custom host lists. - The -L option will list all (if any) host- and command files found on their respective search paths. - The -W option will write out the inventory of hosts that would be processed if you actually executed the program, and then terminates. This works only in test mode. This allows you to embed tsshbatch in external shell scripts like this: for server in $(tsshbatch.py -i devserverlist -uatserverlist -W) do ssh $server done Why? Because tsshbatch has lots of powerful ways to maintain inventories of hosts and combine them through includes and multiple command line arguments. The -W option makes it convenient for external programs to make use of those inventory features. - The -F "string ..." option will examine every file on the host- or command paths, looking for matching strings within these files. Matches will report the file name, the location within the file, and the line containing any of the specified strings. This is a simple, case-insensitive string literal match and does not support regular expressions. This is handy when you're looking for a host name or command string, say like, "sudo", and you don't want to have to manually go through all your support files. - The -V "string ..." option does the exact opposite of -F. It lists all the files that do NOT contain any of the specified strings. - The -r option has been added to suppress reporting of start/stop statistics. This allows you to make statistics reporting the default, say via the $TSSHBATCH environment variable, but override it when you need to. - A new directive, .notify, tells tsshbatch to print an informative message from within a command file. This is a runtime activity and is helpful, for example, when tracking progress of a long command file. [CHANGES] - The -H option can now appear on the command line multiple times thereby creating an aggregate list of all hosts named therein. - Hostfiles must now be passed as an argument of -i. This was done to provide a consistent way of passing multiple host files on the commandline. - .include targets (file name specifications) may now reference previously defined variables. [BUG FIXES] - File transfers now properly honor the -s (silent output) flag. TODO ---- - Future ------ - Show incremental output as program executes - File Xfer: Renaming - Cmdfile? - File Xfer: Globing - what about dirs, do we recurse? - Cmdfile? - implement sudoers Mode: - Capture bad password - Capture failed command output - Write the server noise, as it appears to stderr for debug purposes - Note in docs: In this mode it will HANG waiting for interactive input. - Note in docs: There is no separation between stdout and sterr in this mode