Index: third_party/pexpect/examples/README |
diff --git a/third_party/pexpect/examples/README b/third_party/pexpect/examples/README |
new file mode 100644 |
index 0000000000000000000000000000000000000000..be21e960e531bd66919494629b653ac51b32310e |
--- /dev/null |
+++ b/third_party/pexpect/examples/README |
@@ -0,0 +1,89 @@ |
+This directory contains scripts that give examples of using Pexpect. |
+ |
+hive.py |
+ This script creates SSH connections to a list of hosts that |
+ you provide. Then you are given a command line prompt. Each |
+ shell command that you enter is sent to all the hosts. The |
+ response from each host is collected and printed. For example, |
+ you could connect to a dozen different machines and reboot |
+ them all at once. |
+ |
+script.py |
+ This implements a command similar to the classic BSD "script" command. |
+ This will start a subshell and log all input and output to a file. |
+ This demonstrates the interact() method of Pexpect. |
+ |
+fix_cvs_files.py |
+ This is for cleaning up binary files improperly added to |
+ CVS. This script scans the given path to find binary files; |
+ checks with CVS to see if the sticky options are set to -kb; |
+ finally if sticky options are not -kb then uses 'cvs admin' |
+ to set the -kb option. |
+ |
+ftp.py |
+ This demonstrates an FTP "bookmark". |
+ This connects to an ftp site; does a few ftp commands; and then gives the user |
+ interactive control over the session. In this case the "bookmark" is to a |
+ directory on the OpenBSD ftp server. It puts you in the i386 packages |
+ directory. You can easily modify this for other sites. |
+ This demonstrates the interact() method of Pexpect. |
+ |
+monitor.py |
+ This runs a sequence of system status commands on a remote host using SSH. |
+ It runs a simple system checks such as uptime and free to monitor |
+ the state of the remote host. |
+ |
+passmass.py |
+ This will login to a list of hosts and change the password of the |
+ given user. This demonstrates scripting logins; although, you could |
+ more easily do this using the pxssh subclass of Pexpect. |
+ See also the "hive.py" example script for a more general example |
+ of scripting a collection of servers. |
+ |
+python.py |
+ This starts the python interpreter and prints the greeting message backwards. |
+ It then gives the user interactive control of Python. It's pretty useless! |
+ |
+rippy.py |
+ This is a wizard for mencoder. It greatly simplifies the process of |
+ ripping a DVD to mpeg4 format (XviD, DivX). It can transcode from any |
+ video file to another. It has options for resampling the audio stream; |
+ removing interlace artifacts, fitting to a target file size, etc. |
+ There are lots of options, but the process is simple and easy to use. |
+ |
+sshls.py |
+ This lists a directory on a remote machine. |
+ |
+ssh_tunnel.py |
+ This starts an SSH tunnel to a remote machine. It monitors the connection |
+ and restarts the tunnel if it goes down. |
+ |
+uptime.py |
+ This will run the uptime command and parse the output into python variables. |
+ This demonstrates using a single regular expression to match the output |
+ of a command and capturing different variable in match groups. |
+ The regular expression takes into account a wide variety of different |
+ formats for uptime output. |
+ |
+df.py |
+ This collects filesystem capacity info using the 'df' command. |
+ Tuples of filesystem name and percentage are stored in a list. |
+ A simple report is printed. Filesystems over 95% capacity are highlighted. |
+ |
+PEXPECT LICENSE |
+ |
+ This license is approved by the OSI and FSF as GPL-compatible. |
+ http://opensource.org/licenses/isc-license.txt |
+ |
+ Copyright (c) 2012, Noah Spurrier <noah@noah.org> |
+ PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY |
+ PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE |
+ COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES. |
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ |