Sponsored Content
Top Forums Shell Programming and Scripting Perl telnet to router run commands from file Post 302873705 by Chubler_XL on Tuesday 12th of November 2013 09:18:54 PM
Old 11-12-2013
Nice work, I've seen many posts here asking for something similar so I know others will find this useful.

The 600 sec timeout is a little long - do you encounter issues with some commands taking a long time to finish? I'd try reduce it to give feedback to users quicker, you can extend it again for the command processing part if needed.

Could be useful putting or die tests on all your waitfor() calls to assist debugging if router/prompts are wrong eg:

Code:
$t->waitfor('/Telnet password[: ]*/i') or die "No router pass prompt";

When doing these type of things I like to change the PS1 prompt to something more unique to ensure we are matching on the command prompt eg:

Code:
$t->print("PS1=READY#  \n");
$t->waitfor('/READY#$/') or die "No command prompt";

This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl telnet to cisco router and compare the ping ms

All Please help, i will telnet to router to obain the ping status and compare, if higher than normal latency, i will have further action.. if i do the telent and in perl script then .... e.g the result i obtain from the router will be =' Success rate is 100 percent (5/5), round-trip... (4 Replies)
Discussion started by: optimus
4 Replies

2. Shell Programming and Scripting

Script to run on a router

I want to make a Perl script to telnet to a router and apply commands, and get the output of the commands in a file. Can any one help me in that? (2 Replies)
Discussion started by: moutaz1983
2 Replies

3. Shell Programming and Scripting

Webpage to Telnet via Perl and Expect: Telnet problem?

Somewhat long story: I have a simple Perl CGI script that uses Expect to Telnet to a device and grab some data, and then spits it back to Perl for display on the Webpage. This works for many devices I've tried, but one device just fails, it keeps rejecting the password on this device, only... (1 Reply)
Discussion started by: jondo
1 Replies

4. UNIX for Dummies Questions & Answers

Command to run multiple commands from a file.

I need a command, which could run mutliple commands from a file. Let's say, I have mv fileA1 fileB1 mv fileA2 fileB2 ..... mv fileA20 fileB20 I put these commands in a file, then I need a command to run the file as a whole so that I don't need to type 20 times... Anyone tell me how to... (8 Replies)
Discussion started by: kaixinsjtu
8 Replies

5. UNIX for Dummies Questions & Answers

check for a file and run some commands

Hi all, Can you guys please help me with this... I am on AIX and need to prepare a script which will 1. check for a file named do_backup in the current file system 2. If the file exists i need to run some commands and exit, if the file doesn't exist then sleep for 15 mins and try... (2 Replies)
Discussion started by: family_guy
2 Replies

6. Shell Programming and Scripting

Telnet to router and execute command

I am trying to write a shell script to execute some commands.. telnet <IP address of the router> wait 10 echo "username" echo "password" sh log exit but i am unable to execute it properly ..please help me .. thanks in advance Sri (1 Reply)
Discussion started by: srikanthus2002
1 Replies

7. Shell Programming and Scripting

Perl: connect to network devices, run set of commands

I am trying to write a script for my own use that will allow me to connect to network devices, then run a set of commands. I start with a list of ips in a text file. Each ip is on its own line. I start with a second file of commands. Each command on one line. for illustration .. the cmd.txt... (2 Replies)
Discussion started by: popeye
2 Replies

8. Linux

How to run commands with pipe from text file?

Hello, I have standard loop while read -r info; do command $info done < info in info text file I have multiple commands each on line that I want to execute. When I used them in console they worked, but not with this loop. This is one of the commands in info file: grep... (4 Replies)
Discussion started by: adamlevine
4 Replies

9. Shell Programming and Scripting

Shell script run in a case statement call to run a php file, also Perl

Linux System having all Perl, Python, PHP (and Ruby) installed From a Shell script, can call a Perl, Python, PHP (or Ruby ?) file eg eg a Shell script run in a case statement call to run a php file, also Perl or/and Python file??? Like #!/usr/bin/bash .... .... case $INPUT_STRING... (1 Reply)
Discussion started by: hoyanet
1 Replies

10. UNIX for Beginners Questions & Answers

Script require to do telnet & run few commands

I am new in scripting, I need script(BASH) which do telenet to one of the elements & run few commands , after running it successfully it will check status of files & exit. Help is greatly appreciated 🙏 (2 Replies)
Discussion started by: Vinesh_123
2 Replies
PMDACISCO(1)						      General Commands Manual						      PMDACISCO(1)

NAME
pmdacisco - Cisco router performance metrics domain agent (PMDA) SYNOPSIS
$PCP_PMDAS_DIR/cisco/pmdacisco [-d domain] [-l logfile] [-U username] [-P password] [-r refresh] [-s prompt] [-M username] [-x port] host:interface-spec [...] $PCP_PMDAS_DIR/cisco/parse [options] host:interface-spec [...] $PCP_PMDAS_DIR/cisco/probe [-P password] [-s prompt] [-U username] [-x port] host DESCRIPTION
pmdacisco is a Performance Metrics Domain Agent (PMDA) which extracts performance metrics from one or more Cisco routers. A brief description of the pmdacisco command line options follows: -d It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is, domain should be different for every PMDA on the one host, and the same domain number should be used for the same PMDA on all hosts. -l Location of the log file. By default, a log file named cisco.log is written in the current directory of pmcd(1) when pmdacisco is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be created or is not writable, output is written to the standard error instead. -P By default, it is assumed that no user-level password is required to access the Cisco's telnet port. If user-level passwords have been enabled on the Ciscos, then those passwords must be specified to pmdacisco. If specified with the -P option, password will be used as the default user-level password for all Ciscos. See also the INTERFACE IDENTIFICATION section below. -r pmdacisco will refresh the current values for all performance metrics by contacting each Cisco router once every refresh seconds. The default refresh is 120 seconds. -s The Cisco command prompt ends with the string prompt. The default value is ``>''. The only way pmdacisco can synchronize the sending of commands and the parsing of output is by recognizing prompt as a unique string that comes at the end of all output, i.e. as the command prompt when waiting for the next command. -U By default, it is assumed that no username login is required to access the Cisco's telnet port. If username login has been enabled on the Ciscos, then the corresponding usernames must be specified to pmdacisco. If specified with the -U option, username will be used as the default username login for all Ciscos. See also the INTERFACE IDENTIFICATION section below. -M User account under which to run the agent. The default is the unprivileged "pcp" account in current versions of PCP, but in older versions the superuser account ("root") was used by default. -x Connect to the Cisco via TCP port number port rather than the default 23 for a telnet connection. For each interface, once the telnet connection is established, pmdacisco is willing to wait up to 5 seconds for the Cisco to provide a new snapshot of the requested information. If this does not happen, the telnet connection is broken and no values are returned. This prevents pmdacisco tying up the Cisco's telnet ports waiting indefinitely when the response from the router is not what is expected, e.g. if the format of the ``show int'' output changes, or the command is in error because an interface is no longer configured on the router. INTERFACE IDENTIFICATION
As each Cisco router can support multiple network interfaces and/or multiple communications protocols, it is necessary to tell pmdacisco which interfaces are to be monitored. The host:interface-spec arguments on the command line define a particular interface on a particular Cisco router. host should be a host- name or a ``dot-notation'' IP address that identifies the telnet port of a particular Cisco router. There are several components of the interface-spec as follows. protocol One of the abbreviations a, B, E, e, f, G, h, s or Vl respectively for ATM, BRI (ISDN), FastEthernet, Ethernet, FDDI, GigabitEther- net, HSSI, serial or Vlan. interface Depending on the model of the Cisco, this will either be an integer, e.g. s0, or an integer followed by a slash (``/'') followed by a subinterface identification in one of a variety of syntactic forms, e.g. e1/0, G0/0/1 or s4/2.1. To discover the valid interfaces on a particular Cisco, connect to the telnet port (using telnet(1)) and enter the command "show int" and look for the interface identifiers following the keywords ``Ethernet'', ``Fddi'', ``Serial'', etc. Alternatively run the probe command. username If there is a username login, and it is different to the default (see -U above), it may be optionally specified here by appending ``@'' and the username to the end of interface-spec. password If there is a user-level password, and it is different to the default (see -P above), it may be optionally specified here by append- ing a question mark (``?'') and the password to the end of interface-spec. prompt If the Cisco command prompt is different to the default (see -s above), it may be optionally specified here by appending an exclama- tion mark (``!'') and the prompt to the end of interface-spec. The following are examples of valid interface-spec arguments. my-router:e1/2 123.456.789.0:s0 wancisco:f2/3?trust_me somecisco:G1/0!myprompt cisco34.foo.bar.com:e2?way2cool mycisco:s2/2.1@mylogin yourcisco:E0/0@yourlogin?yourpassword mycisco:E0/0@mylogin?mypassword!myprompt HELPER UTILITIES
The probe command may be used to discover the names of all interfaces for a particular Cisco router identified by host. The -P argument is the same as for pmdacisco. The parse command takes exactly the same arguments as pmdacisco, but executes outside the control of any pmcd(1) and so may be used to diagnose problems with handling a particular Cisco router and/or one of its interfaces. Additional diagnostic verbosity may be produced using the -D appl0,appl1,appl2 command line option. appl0 logs connect and disconnect events, login progress, high-level flow of control and extracted statistics. appl1 traces all commands sent to the Cisco device. appl2 logs tokenizing and parsing of the output from the Cisco device. Diagnostics are generated on standard error as each sample is fetched and parsed. INSTALLATION
If you want access to the names, help text and values for the Cisco performance metrics, do the following as root: # cd $PCP_PMDAS_DIR/cisco # ./Install If you want to undo the installation, do the following as root: # cd $PCP_PMDAS_DIR/cisco # ./Remove pmdacisco is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. FILES
$PCP_PMCDCONF_PATH command line options used to launch pmdacisco $PCP_PMDAS_DIR/cisco/help default help text file for the Cisco metrics $PCP_PMDAS_DIR/cisco/Install installation script for the pmdacisco agent $PCP_PMDAS_DIR/cisco/Remove undo installation script for the pmdacisco agent $PCP_LOG_DIR/pmcd/cisco.log default log file for error messages and other information from pmdacisco PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). SEE ALSO
pmcd(1), pcp.conf(5) and pcp.env(5). Performance Co-Pilot PCP PMDACISCO(1)
All times are GMT -4. The time now is 11:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy