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