WHATSNEW For 'tsshbatch' 1.317 (Sat Oct 15 16:12:34 CDT 2016) ---------------------------------------------------------------------- - It is now possible to define local variables with the .local directive. These have visibilty and scope only with the file where they are defined, but otherwise work the same as globally defined variables. Local variables also support "execution variable" style definition. - Hostfile names must now be passed using 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 more than once. -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. Notifications are disabled in silent mode. [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. WHATSNEW For 'tsshbatch' 1.228 (Mon Jan 18 18:10:50 CST 2016) ---------------------------------------------------------------------- - There is now limited support for ssh configuration files. Only the HostName and IdentityFile directives are currently supported. By default, tsshbatch will look in ~/.ssh/config for this configuration file. However, the location of the file can be overridden with the -C option. - The -b option has been added to continue after a sudo failure. Previous releases of the program stopped all further processing on any sudo failure. With -b, it's now possible to go on to the remaining hosts even if one of them failed to do proper sudo promotion. - The -B option has been added to print an informative "banner" at the beginning and end of each program run. [CHANGES] - On screen help now displays default settings for all options where appropriate. [BUG FIXES] - Fixed bug that caused program to exit after a failed file transfer even when -a was specified. - Fixed bug that failed to present user name during key-based auth. This prevented connection when the desired name was different than the initating user - say when using process IDs instead of "real" users. WHATSNEW For 'tsshbatch' 1.212 (Wed Dec 10 09:42:08 CST 2014) ---------------------------------------------------------------------- [NEW] - Implemented .getfile and .putfile directives for specifying file transfers in a cmdfile. [CHANGES] - Quotation characters are no longer stripped in cmdfile file transfer specifications. [BUG FIXES] None WHATSNEW For 'tsshbatch' 1.210 (Tue Dec 9 12:20:25 CST 2014) ---------------------------------------------------------------------- [NEW] - It is now possible to put file transfer specifications in cmdfiles. Each must be on its own line and in the same form as if it were provided on the command line: -G /path/to/srcfile destdir -P /path/to/srcfile destdir Any single- or double quotes will be removed. - Added __LOGINNAME__ builtin. For key exchange auth, this will just be the name of the user running tsshbatch. When an explicit login name is provided, either via prompting or command line, that name will be returned by this variable. - Implemented -s, "silent" option which suppresses all reporting and header noise and only returns the literal results of each command. [CHANGES] None [BUG FIXES] - Fixed bug that caused program to exit after a failed file transfer even when -a was specified. WHATSNEW For 'tsshbatch' 1.204 (Thu Dec 4 18:33:10 CST 2014) ---------------------------------------------------------------------- [NEW] - Added the following builtin variables: __DATE__ # Date in YYYYMMDD format __DATETIME__ # Date and time in YYYYMMDDHHMMSS format __HOSTNAME__ # Full name of current host as passed to program __HOSTNUM__ # Count of host being processed, starting at 1 __HOSTSHORT__ # Leftmost component of hostname as passed to program __TIME__ # Time in HHMMSS format - Added an "execution variable". This runs a command of your choosing (on the local machine) and assigns the results to a user-defined variable. - Added -E to redirect all stderr output to stdout instead, - Added -T timeout option (default is 15 sec). - Added -a to allow program to continue after file transfer error. - Added -l logging option. Defaults to /dev/null. This fixes the error that was previously being reported: "No handlers could be found for logger "paramiko.transport" - Added -q for "quieter" output. [CHANGES] - File transfers now properly preserve the file's permissions. - Changed hostname separator from ':' to '-' when using the -G command. - The <HOSTNAME> and <HOSTSHORT> builtins have been replaced with the new builtins described above. - Error messages now more consistent and clear. - Test mode now expands variable references to their values for all variables except the builtins above (which are only evaluated at runtime). - Documentation has been rewritten and improved considerably. [BUG FIXES] - Fixed bug that prevented the proper dereferencing of __HOSTNAME|SHORT__ (formerly <HOSTNAME|SHORT>) in file transfer specifications. - Fixed bug that prevented variable substitution in hostnames. - Fixed bug that prevented '.define' variables from being substituted in file transfer specifications. - Fixed bug that only recognized sudo invocations if they were the first statement on a command line. All instances of the string "sudo " will now force sudo password prompting and processing. That string is ignored if it appears inside single- or double quotes. - Fixed bug that intermittently occurred during password-based auth sessions because ssh-agent and key searching were still being used. - Fixed error reporting blowout when key-exchange auth fails. WHATSNEW For 'tsshbatch' 1.177 (Thu Mar 27 19:09:03 CDT 2014) ---------------------------------------------------------------------- - Test mode is now the default. Actual operation requires explicit use of the -x option. - A new option, -K, has been added to force prompting for passwords. This is to provide a means to override a -k (key exchange) default if the user set it that way in the $TSSHBATCH environment variable. - It is now possible to substitute the name of the current host into either commands or file transfer specifications via the '<HOSTNAME>' and '<HOSTSHORT>' strings. This allows commands and/or file transfers to behave in a host-specific manner. WHATSNEW For 'tsshbatch' 1.171 (Fri Nov 1 12:08:31 CDT 2013) ---------------------------------------------------------------------- CHANGES: - Changed default behavior to pick up $USER from the environment and not prompt for it. - When prompting for username, now shows $USER or the user presented via -n as default if present. - Cosmetic changes in reporting output - Cleaned up sudo handling and reporting NEW FEATURES: - A new option, -N, to forces prompting for username to overcome the new default behavior of using $USER or the name provided by -n without promptng. This option also overrides any previous request for key exchange authentication. - A new option, -S, forces prompting for the sudo password, with the default being any previously provided password (interactive or -p). This allows you to use one password to authenticate to the system and a different one to do sudo promotion. - Two new options, -G and -P, support file transfer GETs and PUTs respectively from the selected hosts. - A new option, -f cmdfile, allows multiple commands stored in the file to be run on each of the selected hosts. This allows for considerably more complex operations than the single command string at the end of the command line supported in previous versions. - A new option, -y, turns on 'noisy' reporting and produces context information (hostname, output stream, and command) for every line of output. This makes the output more useful when filtered through something like 'grep'. - There is a new options, -t, to turn on "test mode" which will show what would be done, but will not actually do it. This mode also displays useful diagnostic information about the command line, variable defintions, file tranfer requests, and so on. - The new -x option is used to negate a prior -t and thereby force execution of the requested file transfers and/or commands. - Both cmdfiles and hostlistfiles now support freeform whitespace and commenting via the "#" character. - Both cmdfiles and hostlistfiles now support including other files via the .include directive. Circular include detection is also implemented. - Both cmdfiles and hostlistfiles can contain variable definitions that are literally replaced in any following text. WHATSNEW For 'tsshbatch' 1.137 (Fri Feb 22 15:30:24 CST 2013) ---------------------------------------------------------------------- - Changed error reporting to place the entire message on a single line. - Changed the manner of error reporting to provide more specific detail. The original error messages could be misleading because both the inability to connect and an ssh rejection reported the exact same error. WHATSNEW For 'tsshbatch' 1.134 (Tue Jan 17 09:00:04 CST 2012) ---------------------------------------------------------------------- Initial public release