I'm working on a script that searches for files on a diskfarm. The problem is that not all the files are on the diskfarm, and some of them are located on one or 5 processing machines... 3 of these machines I can telnet into, the other 2 require SSH. We don't have net::SSH or net::SSH:perl installed, nor do I have the pull to get the System Admins to install the module (I'm writing this tool to help myself and the other 4 operators that work in frontend so that we don't have to manually go out and find the files) My question is, is there any compatibility so that I can take the script I've got working on one system to be able to SSH into the other systems and check them for the files, or will I need to have a copy of the program running on each system? Below is the code that I have thus far...
#!/usr/bin/perl use strict; use File::stat; use Date::Manip; # This is a program that is intended to allow FEP operators # a tool that will facilitate in monitoring incoming transmissions # and preprocessor logs. #------------------- Define Subroutines ------------------# # # # Main is a subroutine simply written for flow control sub Main { my $corp = $_[0]; print "Logs:\n"; farmInput($corp, 'farm/*/*/log/'); print "Input:\n"; farmInput($corp,'farm/*/*/input/'); print "Save:\n"; farmInput($corp, 'farm/*/*/input/save/'); print "Failed:\n"; farmInput($corp, 'farm/*/*/input/failed/'); } # end Main # This subroutine takes 2 input variables, the corp (or any text you w +ant to find) # and the path in which to search (with /usr/local/ being the root of +the search) sub farmInput { my($corp, $finalPath) = ($_[0], $_[1]); my $path = "/usr/local/$finalPath*$corp*"; my @farms = glob($path); foreach my $farm (@farms) { my $s = stat($farm); printf "%s\nAge[%s] size[%s]\n", $farm, ParseDateString("epoch".$s +->mtime()), $s->size(); # the above line does the same thing as the next 4 commented lines # printf "%s: Age [%s], size[%s]\n", # $farm, # DateCalc( "Jan 1, 1970 00:00:00 GMT",$s->mtime() ), # $s->size(); } # end of foreach statement } # end farmInput #------------------- End Subroutines ---------------------# print "What corp are you looking for? " ; chomp(my $whatWeWant = <STDIN>); Main($whatWeWant);

In reply to SSH compatibility without external modules? by FireyIce01

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.