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);
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.