Looking for the latest version? Download futil-2.4.tgz (62.9 kB)
Name Modified Size Downloads / Week Status
Totals: 4 Items   96.0 kB 12
archive 2010-12-12 1 weekly downloads
futil 2010-05-01 1 weekly downloads
README.txt 2010-12-12 33.2 kB 11 weekly downloads
futil-2.4.tgz 2010-12-12 62.9 kB 1111 weekly downloads
futil README $Revision: 1.15 $ License ------- Distributed under the terms of the Academic Free License, v2.1. See the LICENSE.txt file for the terms and provisions. Installation ------------ Using your usual login name, unpack the futil tar archive, change into the extracted folder, and run the install.sh script. For example, assuming the tar archive file is in your home directory and you want the futil scripts to reside in ~/futil, do this: $ cd ~ # Change to your home directory $ tar -zxf ./futil-2.4.tgz # Unpack the futil archive $ cd futil # Change to the extracted futil folder $ ./install.sh # Run the install script This will create symlinks in your ~/bin directory, which will link to the scripts in the unpacked futil folder. Conversely, run ./uninstall.sh to remove the symlinks to uninstall the package. IMPORTANT: Make sure ~/bin is in your $PATH. If not, then add it. Otherwise, you will not gain access to the futil scripts at the shell command line. Availability and Support ------------------------ See the project homepage at http://sourceforge.net/projects/futil Description ----------- The futil package includes various scripts to make using and managing a Linux system more productive and efficient. Indentation Style ----------------- One tab = four spaces Sudo Privilege -------------- Some of the scripts use sudo(8) to switch to root, therefore you must have sudo privilege for the operations to succeed. If a script requires sudo privilege, it will say so in the DESCRIPTION section at the top of the script. Contents -------- archive - Takes a compressed tar snapshot of the current working directory base64 - Encode/decode ASCII/base64 text from stdin or the command line biggest - List keywords ordered by length chpass - Change UNIX login password on multiple hosts cm2in - Convert centimeters to inches connect - kermit(1) script to bring serial port 0 on-line count - Return a vector based on start, stop, and step values create - Create a comment header and start editing a source code file cvss - Show the status of the files in a CVS workarea diskmon - Display disk space stats at a specified periodic interval dumpschema - No frills approach to generating a listing of schema tables. dumptables - No frills approach to generating a compendium of database tables fails2csv - Extract ssh login failures as comma separated values ffunlock - Remove Firefox lock file fnedit - Find regex or string within files and edit the files fwlog - Monitor the firewall messages and display just the essential info httpcode - Display info about the supplied HTTP status code(s) imback - "I'm back": Re sync to network after resume from suspend installmod - Install the named CPAN Perl module ip2name - Lookup DNS names for the supplied IP addresses kill-evolution - Kill lurking evolution(1) processes lanmon - Monitor the LAN for client activity linkhere - Make a symlink in ~/bin to a file in "." lspm - List manually installed CPAN Perl modules and versions mhp - Modify Headers parser mm2in - Convert millimeters to inches mntshare - Mount a Windows network share folder newwin - Open a new xterm(1) window with your favorite settings pcvs - pserver adapted cvs(1) command phpinfo - Run php_info() function to list the PHP config info prman - Format and print man(1) page(s) to a Postscript printer prsrc - Format and print source file(s) to a Postscript printer prtxt - Format and print text files(s) to a Postscript printer psgrep - Locate process by string in ps(1) sorted list pstty - Display processes associated with a specified pty purl - Parse URL strings to display the individual parameters pushrc - Push your basic ~/.rc files to remote host(s) pushsshk - Push your ssh public key(s) to remote host(s) pushxauth - Push the authority records for local X displays to a remote host rdc - Forward a remote desktop connection to a remote LAN via ssh rpmgrep - Search for installed RPM(s) using regex scale - Write a scale line (or fixed length comment) to stdout scanlog - Scan secure log for ssh login cracking attempts shellfns - Some handy functions for your shell sortbyid - Sort passwd or group entries on stdin in ascending order sortbyip - Sort IP addresses on stdin in ascending order spinloop - Run some children in a tight loop to put load on the processor startwf - Configure and start WLAN interface using profile names sysbackup - Backup key operating system configuration files syserr - C program that displays the error message for a system error number systray - Launch common system configuration applications by keyword taillog - Tail a remote server's logfile in real-time vnc - Forward a vnc connection to remote LAN via ssh wt - "Who's there?" on the LAN LICENSE.txt - the Academic Free License, v2.1 README.txt - This file install.sh - Installs the futil symlinks in ~/bin uninstall.sh - Removes the futil symlinks from ~/bin Abbreviations ------------- ARP - Address Resolution Protocol CPAN - Comprehensive Perl Archive Network CTS - Clear to Send CVS - Concurrent Versions System DNS - Domain Name Service EUID - Effective User ID (see the setuid man page) LAN - Local Area Network RDC - Remote Desktop Connection regex - Regular Expression(s) RPM - Red Hat Package Manager RTS - Request to Send SMB - Server Message Block (the Windows file sharing protocol) ssh - Secure Shell sudo - Switch User and Do vnc - Virtual Network Computing VPN - Virtual Private Network WEP - Wireless Encryption Protocol WLAN - Wireless Local Area Network Details ------- archive Takes a compressed tar(1) snapshot of the current working directory, and saves it to an archive area. Notes: The script uses sudo(8) to switch to EUID root. Therefore, you must have sudo privileges for the operation to succeed. To restore the files from the archive to the current working directory, preserving the original owner, group, access time, and permissions, use a tar(1) command like the following: tar --atime-preserve --bzip --extract --preserve-permissions \ --file /export/backups/archive/archive-archive-pid3473.tbz base64 A Perl script, which converts ASCII text input to base64, or base64 input to ASCII text. Note: Work in progress. biggest A Perl script, which lists the supplied keywords in order by length. Example: biggest a, bb, ccc, dddd, eeeee, ffffff, ggggggg, ... Output will look like the following: 7 ggggggg 6 ffffff 5 eeeee 4 dddd 3 ccc 2 bb 1 a chpass Calls passmass(1) to change the login password on multiple hosts. The process is: 1. Read the ~/.chpass file for a list of hosts 2. If -nocheck is specified, skip to step 3. Otherwise, attempt to ssh(1) to each host and confirm that it's possible to login. 3. If the user OKs proceeding, then collect the current and new login passwords. 4. Use passmass(1) to login to each host in ~/.chpass, run passwd(1), and change the password. cm2in Converts centimeters to inches (or polygon dimensions in centimeters to inches). Example 1: cm2in 2.54 Output will look like: 1.0 in Example 2: cm2in 2.54 25.4 254.00 Output will look like the following: 1.0 x 10.0 x 100.0 in connect A quick kermit(1) wrapper that opens a connection to serial port 0. Example: connect Result: Connects to serial port 0, at 38,400 BAUD, with RTS/CTS flow control. count A useful function within shell programs, as a for-loop primer. Example 1: Loop from 1 to 100. for i in `count 1 100`; do echo Loop iteration $i done Example 2: Count from 2 to 20 by twos. $ count 2 20 2 2 4 6 8 10 12 14 16 18 20 create A Perl script, which creates comment header templates, sometimes with prototype code, for various coding types including .c, .cpp, .exp (expect), .java, .php, .pl, .pm, .py, .sh, and .tcl. Note: If the named file already exists, the header template will be prepended to the existing file content. If the file doesn't exist, then it will be created, with the template content at the beginning In either case, the resulting file will be brought up in $EDITOR automatically, so you can start editing it further. Example: create myscript.pl Creates a Perl-style template for "myscript.pl" and brings it up in $EDITOR. cvss Lists the status of CVS files in the current working directory and below. Example: cvss Output will look like: File: cvss.sh Status: Up-to-date Tip: Try the "-lm" option, to see just the files with "Locally Modified" status diskmon Displays the disk space stats at the specified periodic interval. The interval may be specified in the ~/.futilrc file (1,800 sec or 30 min by default), or may be specified directly on the command line. Example: diskmon 20 This displays the disk space stats every 20 seconds. On Cygwin, the output will look like: diskmon: Display a disk stats snapshot every 1800 seconds. Fri Aug 1 10:54:59 PDT 2008 Filesystem 1M-blocks Used Available Use% Mounted on C:\cygwin\bin 41685 14638 27047 36% /usr/bin C:\cygwin\lib 41685 14638 27047 36% /usr/lib C:\cygwin 41685 14638 27047 36% / c: 41685 14638 27047 36% /cygdrive/c d: 30711 486 30225 2% /cygdrive/d h: 844339 777159 67180 93% /cygdrive/h ... dumpschema A no frills approach to generating an HTML listing of schema tables. This script will dump a MySQL or Oracle database schema so a webpage of properties is produced. Process: 1. Make a list of the database tables in the tables.txt file. 2. Run dumpschema to produce a query.sql output file. 3. Invoke a SQL client using the query.sql file as input and get HTML out. See the dumpschema script's comment block for futher information. dumptables No frills approach to generating a compendium of database tables. This script will dump a MySQL or Oracle databaesetables so a webpage of their elements is produced. Process: 1. Make a list of the database tables in the tables.txt file. 2. Run dumptables to produce a query.sql output file. 3. Invoke a SQL client using the query.sql file as input and get HTML out. See the dumptables script's comment block for further information. ffunlock Removes the Firefox web browser lock file. This script is useful when the Firefox browser has terminated abnormally, leaving its lock file behind, which prevents a subsequent browser instance from running. Example: ffunlock Output will look like: Lock file found: lrwxrwxrwx 1 username usergroup 15 Dec 10 16:43 /home/username/.mozilla/firefox/abcdef5b.default/lock -> Do you want to delete it? (y/[n]) Or: No lock file found. fnedit Find a regex or literal string in files and then edit them. This script combines egrep(1) searches with $EDITOR invocations. For example, say you want to edit all files that contain the string #include "api_errno.h", then run fnedit this way: fnedit "#include \"api_errno\\.h\"" *.c *.h The above will launch $EDITOR with the list of files that contain the string. Furthermore, the string can be a regular expression, allowing the full power of regex to be applied. httpcode Display info about the supplied HTTP status code(s). Always wanted more info at your finger tips about what those pesky HTTP status codes really mean? Then httpcode is your friend! Example: httpcode 303 Output will look like: WATS.ca - web accessibility technical services | HTTP Status Codes (and what they mean) HTTP Code 303: See Other/Redirect A preferred alternative source should be used at present. imback Useful to bounce the active network interface and re sync to the network timehost, following resume from suspend state. Example: imback eth1 Output will look like: Stopping eth1 Starting eth1 Syncing to Internet timehost sudo ntpdate -u time.nist.gov Looking for host time.nist.gov and service ntp host found : time.nist.gov 11 Dec 05:55:26 ntpdate[1343]: adjust time server offset -0.013870 sec Notes: 1. "imback" stands for "I'm back!" 2. "eth0" is assumed by default. 3. "time.nist.gov" is assumed as the network timehost by default. installmod Installs the named CPAN Perl module; requires sudo privilege. Note: installmod uses sudo(8), because storing into the /usr/lib/perl5 area will often require it. Therefore, you must have sudo(8) privilege for the operation to succeed. Example 1: installmod Net::SSL Example 2: installmod Bundle::CPAN ip2name Looks up the supplied IP address(es) and returns the canonical names as comma-separated values, which may then be imported into a spreadsheet program if desired. Example: ip2name Output will look like:,p22.www.dcn.yahoo.com,p23.www.dcn.yahoo.com,p24.www.dcn.yahoo.com kill-evolution Sometimes if the evolution(1) personal information manager dies, it isn't possible to restart it successfully until its supporting processes are killed, too. This script kills the lurkers, so evolution can be restarted cleanly. Example: kill-evolution Output will look like: Killing processes: 123 456 789 Or: No lurkers! lanmon Runs tcpdump(1) in promiscuous mode to monitor the LAN, while filtering out localhost transactions. This results in a display of remote client transactions. Note: lanmon uses sudo(8), because managing the local network interface will require it. Therefore, you must have sudo(8) privilege for the operation to succeed. Example: lanmon Output will look like: tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 03:47:38.716661 arp who-has host1 tell server1.foo.com 03:47:39.716427 arp who-has host1 tell server1.foo.com 03:47:40.716199 arp who-has host1 tell server1.foo.com ... linkhere Very useful script, which will set a symlink in your ~/bin directory to point to the named object in the current working directory. This allows you to effectively add executable files to your ~/bin directory, which reside somewhere else. Furthermore, if the files are in your CVS workarea, then you can work on them, and execute them from the shell command line, too. So who says "You can't have your cake and eat it too?" Example: linkhere myscript.pl Output will look like: Linking /home/username/bin/myscript -> ./myscript.pl Now, type "myscript" at the shell command line, and it will execute directly. lspm List all the locally installed Perl modules. Example: lspm Output will look like: Compress::Zlib,1.40 Crypt::SSLeay,0.51 DBD::Oracle,1.16 libwww-perl,??? Perl,5.8.3 Time::HiRes,1.68 Time::Local,1.11 XML::LibXML,1.58 XML::LibXML::Common,0.13 XML::NamespaceSupport,1.09 XML::SAX,0.12 XML::Twig,3.17 Note: Not all the installed Perl modules will be listed, just the ones locally installed by the "perl -MCPAN" package. mhp Modify Headers parser: Uncompresses and parses the exported data from the Firefox Modify Headers add-on and extracts the <header> elements, one element per line. The resulting output can be sorted, manually edited, and otherwise manipulated, then compressed back, and re-imported to the Modify Headers add-on. mm2in Convert millimeters to inches. Example 1: mm2in 25.4 Output will look like: 1.0 in Example 2: mm2in 25.4 254 2540 Output will look like: 1.0 x 10.0 x 100.0 in newwin Open a new xterm(1) window with your favorite settings. Example: newwin This invokes a new xterm(1) window with your favorite settings. Since the default xterm settings are clunky, unconventional, and ultimately lacking, use newwin as is or customize the settings the way you like them. By default, the window size will be 95 cols x 35 rows, the xterm scrollbar will be placed on the right-hand side, there will be 8K lines scrollback buffer, and the visable alert will be enabled. mntshare Mount a remote Windows Share for local access by Linux. Example: mntshare corp/george //filer/share This mounts the Windows UNC "//filer/share" locally as "/mnt/filer/share", using the Windows "corp" domain and user "george". Notes: 1. mntshare uses sudo(8), because performing a mount operation will require it. Therefore, you must have sudo(8) privilege for the operation to succeed. 2. It also uses the smbmount(8) command. On Ubuntu, this requires the smbfs package to be installed. On Fedora, it requires the samba-client RPM to be installed. 3. You will also be prompted to supply your Windows password. 4. mntshare doesn't apply to Cygwin. pcvs Command line access to a pserver-based CVS repository on the local network or the Internet. Anonymous or authenticated access may be used; anonymous access is assumed by default. The following environment variables apply: PCVSHOST The CVS server hostname ("cvs.sourceforge.net" assumed) PCVSUSER The CVS username ("anonymous" assumed) PCVSROOT The CVSROOT ("/cvsroot" assumed) PCVSPROJECT The CVS project name (none assumed) Command usage is just like the cvs(1) command, but the above environment variable values will be used automatically. Example: PCVSPROJECT=futil; export PCVSPROJECT cd futil/pcvs pcvs status Output will look like: cvs status: Examining . =================================================================== File: pcvs.sh Status: Up-to-date Working revision: Repository revision: /cvsroot/futil/futil/pcvs/pcvs.sh,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) phpinfo Writes an HTML page to stdout that describes the local PHP installation in great detail. prman Formats and spools a man(1) page to the default printer in Postscript format. You may give the man section followed by one or more man page names to be printed (see Example 2). Note: The $MANPATH environment variable provides the colon-separated list of directories to search. Example 1: prman 1 cat echo ls Output will look like: Printing man page /usr/share/man/man1/cat.1 Printing man page /usr/share/man/man1/echo.1 Printing man page /usr/share/man/man1/ls.1 3 man pages sent to the printer Example 2: prman -s 3 malloc Output will look like: Printing man page /usr/share/man/man3/malloc.3 1 man pages sent to the printer prsrc Formats and spools the named source file(s) to the default printer in Postscript format. Output will be line wrapped, will include line numbers, indented using 1 tab = 4 spaces, and will be formatted in Courier 9pt font by default. If $PRINTER is set in the shell environment, then the output will be sent to that printer. Otherwise, it will be sent to the system default printer (if any). Example: prsrc prsrc.sh Output will look like: 1 files sent to the printer prtxt Formats and spools a text file to the default printer in Postscript format. Output will be line wrapped, indented using 1 tab = 4 spaces, and will be formatted in Courier 9pt font by default. If $PRINTER is set in the shell environment, then the output will be sent to that printer. Otherwise, it will be sent to the system default printer (if any). Example: prtxt prtxt.sh Output will look like: 1 files sent to the printer psgrep Runs ps(1), displays processes ordered and indented by by parent-child relationships, configures a simple regex string search, and pipes the output through $PAGER. The search string hits are highlighted and researchable as well. Example: psgrep 'k*' Output will look like: UID PID PPID C STIME TTY TIME CMD root 1 0 0 02:58 ? 00:00:01 init [5] root 2 1 0 02:58 ? 00:00:00 [ksoftirqd/0] root 3 1 0 02:58 ? 00:00:10 [events/0] root 4 3 0 02:58 ? 00:00:00 [khelper] root 16 3 0 02:58 ? 00:00:00 [kacpid] root 164 3 0 02:58 ? 00:00:00 [kblockd/0] ... All strings starting with 'k', such as those shown above, will be highlighted and researchable. pstty Display processes associated with a specific interactive session (pty). The processes will be ordered and indented by parent-child relationships. Example: pstty 1 Output will look like: root 4535 4534 0 03:00 pts/2 00:00:00 /bin/ksh root 4834 4535 0 03:14 pts/2 00:00:00 xclock root 4872 4535 0 03:23 pts/2 00:00:01 vi README.txt ... Tip: Use the w(1) command to display candidates of interest for pstty. purl purl parses the URLs in one or more named files (or stdin) separating the individual parameters to make them easier to see. pushrc Push common .rc configuration files to one or more remote systems. Note: Transport occurs using scp(1), so the remote system must be running the ssh service (sshd). The following files will be pushed (if present): .bash_logout, .bash_profile, .bashrc, .exrc, .ksh_dirfns, .kshexit, .kshinit, .ksh_lpna, .kshrc, .mailrc, and .profile Tip: Use pushsshk first, to push your ssh public key(s) to the remote systems, so you will not have to type in your password over and over again. pushsshk Push your ssh(1) public key(s) to one or more remote systems. Note: Transport occurs using scp(1) and ssh(1) is used also; so the remote system must be running the ssh service (sshd). Example: pushsshk remote-host ... Tip: Generate your ssh key pair(s) first using the ssh-keygen(1) command. For example, to create a DSA key pair: ssh-keygen -t dsa Follow the prompts; once the key pair is created, then run pushsshk to distribute the public key to the remote systems. pushxauth Push the authority records for local X displays to a remote host. Example: pushxauth remote-host rdc Opens a remote desktop connection (rdc), to a Windows system on a remote LAN, using ssh forwarding. You probably know how to use the Linux rdesktop(1) command. What's less obvious is how to run rdesktop to access a Windows system on a remote LAN, using a secure connection. With ssh forwarding, this is possible but it's non-trivial to configure. That's where this script comes in handy. Process overview: 1) Run rdc to open an authenticated and encrypted ssh connection to the remote gateway. Note: A username on the gateway server is required, and you will have to authenticate by providing the password for that username. 2) The gateway will create a standard connection to the remote Windows system, and forward the rdc packets to it. 3) In another local window or shell, you open a connection to the remote Windows system by connecting to the localhost sshd ("rdc connect"). 4) The RDC desktop appears on your local machine and you proceed with using the remote desktop as usual. Custom configuration: Modify the script default settings to meet your network environment requirements. The script makes the following assumptions by default: local_port=3389 # The port that Windows listens to for RDC connections network=192.168.1 # The network address of the remote LAN server_port=3389 # The port localhost listens to for RDC connections gateway=GATEWAY # The canonical hostname of the remote gateway gateway_user=USERNAME # The username on the remote gateway Usage example: rdc 101 # Open a connection to remote system rdc connect # Connect locally to the established RDC connection Tip: Local firewall configuration can be an issue. Make sure your firewall accepts loop-back connections for $server_port in particular. rpmgrep List installed RPM packages on the system using a regular expression. Example: rpmgrep 'lib-[0-9][0-9]*' Output will look like: alsa-lib-1.0.3a-2 dbus-glib-0.20-4.1 glib-1.2.10-12.1.1 iiimf-client-lib-11.4-43 iiimf-protocol-lib-11.4-43 imlib-1.9.13-19 rhnlib-1.5-1.1 zlib- scale A Perl script, which writes an 80-character scaled or comment line to stdout. It's useful for aligning text or comment blocks in your code. It recognizes various programming language commenting styles, when you supply the relevant file extension on the command line (see the supported extensions below). If no extension is given, then a simple scale line, as shown below, is output. Usage: scale [.c|.java|.php|.pl|.sh] Example 1: scale Output will look like: 1---+----1----+----2----+----3----+----4----+----5----+----6--- ... Example 2: scale .c Output will look like: /************************************************************** ... Example 3: scale .py -or- scale .pl Output will look like: ############################################################### ... scanlog Scans the /var/log/secure file for ssh cracking attempts. The finds are reported on stdout. Note: Run scanlog using sudo(8), because the secure log permissions will usually require it. Example: sudo scanlog shellfns A set of handy functions for your shell (bash or ksh compatible). Included -------- attr - Manage the immutable bit on the passwd and group files codiff - Checkout $1 from RCS and diff it to ./$1 cvsroot - Set or display the CVSROOT and CVS_RSH environment variables pycat - Expands tabs and cats file (useful for Python files) setcert - Set client certificate setdb - Connect to database using registered username and SID(s) setdsp - Set or display the DISPLAY environment variable setlcl - Set or display the locale (LC_ALL environment variable) tbz - tar | bzip2 tgz - tar | gzip untbz - bzip2 | tar untgz - gzip | tar wh - List filenames which have the supplied string Also, the dirfns.ksh file contains cd, pushd, popd, and dirs functions for ksh(1). sortbyid Sorts lines from /etc/passwd or /etc/group on stdin, in ascending order by UID or GID, respectively. Example 1: sudo vi /etc/passwd !}sortbyid The /etc/passwd lines will be sorted by UID. Example 2: sudo vi /etc/group !}sortbyid The /etc/group lines will be sorted by GID. sortbyip A useful script for sorting a list of IP addresses within vi(1) or other editors. Example: sudo vi /etc/hosts !}sortbyip The /etc/hosts lines will be sorted by IP, up to the first null line. spinloop Useful for the situations where you want to put a fixed load on the processor, either as a testing activity itself, or as a background activity for testing an application or system behavior under such a condition. Spinloop invokes a fixed number of children processes (the default is 10), each running a tight loop. Example: spinloop & Note: Sending SIGINT to the parent process will cause it to terminate the children as well. startwf Start a wireless connection by profile name. The profiles are defined in the case statement within the script to define the necessary values, as shown in the example below. Note: startwf uses sudo(8), as managing the network interface will require it. Therefore, you must have sudo(8) privilege for the operation to succeed. Example case statement clause: name) channel=11 # Channel number ip="inet" # Static IP address netmask="netmask" # Netmask nic=wlan0 # Wireless interface shk="<WEP-key-hex-string>" ssid="station-id" # SSID ;; Then, run the following command line: startwf -profile <name> Where <name> is the label shown for the above profile. sysbackup Creates a compressed tar(1) archive, in a predefined location, containing copies of the most common system configuration files on your system. Very handy to snapshot the state of your Linux installation. Notes: 1. Use sudo(8) to run sysbackup, because reading some of the system configuration files and writing the archive file will usually require it. 2. The script will store the archive in the /export/backups/system directory by default. This directory must exist beforehand. Example: sudo sysbackup Output will look like: Backing up system configuration Backup completed File: /export/backups/system/system_config_backup_pid5032.tbz -rw-rw---- 1 root root 108610 Dec 22 21:42 /export/backups/system/system_config_backup_pid5032.tbz systray Systray is keyword-based application and system utility launcher. Use it to start any of the following: - The desktop calculator - The firewall builder app (or to save the firewall rules) - The system network interface selector and configuration app - The knotes application - The Red Hat Network Monitor - The sound config app - Sync to network timehost - Load the VPN driver module - Start the wallet app Usage: systray [calc] [fw [save]] [net] [notes] [rhn] [sound|snd] [time] [vpn] [wallet] taillog A handy tool for monitoring the system and apache logs, over the network in real time. There is some investment in setting up the ssh key-based auth initially, but it's worthwhile afterward, as the command functions as if you were operating locally on the monitored system. Note: You must have ssh(1) login and sudo(8) access on the remote system(s) of interest. The easiest setup is to run ssh_keygen(1) locally, and generate an ssh authentication key pair, then run the pushssk script to send your ssh public key to each server of interest. After that, you won't have to type in a password for each use, but just type the command as shown below. Example 1: taillog remote.foo.com This will tail the /var/log/messages file on remote.foo.com. Example 2: taillog remote.foo.com access This will tail the /var/log/httpd/access_log file on remote.foo.com. Example 3: taillog remote.foo.com php_errors This will tail the /var/log/php_errors file on remote.foo.com. vnc Similar to rdc above, but uses the vnc(1) client and protocol instead. Example: vnc 106 Usage example: vnc 106 # Opens a connection to the remote system vnc connect # Connects locally to the established vnc connection wt Short for "Who's there?" This tool steps through a pool of IP addresses (registered within the script), pings each, and displays the results and the contents of the arp(8) cache. Using these methods, you will see which clients are listening and answering back on the LAN, at least for those clients configured to answer ping requests. Note: If the client's IP address is registered in the local /etc/hosts file, then it will also be listed by hostname, too. Example: wt Output will look like: ### Trying (hostname1) ### Trying (hostname2) ### Trying (hostname3) 64 bytes from icmp_seq=0 ttl=128 time=0.828 ms ### Trying ... ARP Cache: gateway ( at 00-AA-11-22-33-0A [ether] on eth0 hostname3 ( at 00-AA-11-95-17-0D [ether] on eth0 _END_
Source: README.txt, updated 2010-12-12