I need the wisdom and help of all perl monks out there. Here is my problem..

I created this script to restart a remote services, but before it does, the script will take all logs file in that specified directory and create a folder based on the time stamped and move the logs into them first before it restarting the remote service.

When I run the script on an NT/win2k server I get the following error message. What am I missing or not doing correctly? It seems like "mkdir" does not work remotely on an NT platform....I would also like an email sent everytime this script runs telling me the remote service have been started (I want to use mime::lite as the email module)....

**Error Message I get when running the script on Win2K *** D:\Perl\bin>perl -w service.pl 10.1.1.5 Alerter usage: posix /c <path> [<args>] error creating \\10.1.1.5\Weblogiclogs\02091812! at service.pl line 27 +. ********************************************************** use Win32::Service; my $filedir = "\\\\10.1.1.5\\Weblogiclogs"; my $IWlogs = "\\\\10.1.1.5\\Weblogiclogs\\*.log*"; ############################################################### # Get Local Time and Create folder based on local time stamped ############################################################### ($sec,$min,$hour,$mday,$mon,$year) = localtime(time); $mon = (1,2,3,4,5,6,7,8,9,10,11,12)[$mon]; if($mon < 10){$mon = "0" . $mon;} # add a leading zero to one-di +git months if($mday < 10){$mday = "0" . $mday;} # add a leading zero to one-di +git days if($hour < 10){$hour = "0" . $hour;} # add a leading zero to one-di +git hours if($min < 10){$min = "0" . $min;} # add a leading zero to one-di +git minutes if($sec < 10){$sec = "0" . $sec;} # add a leading zero to one-di +git seconds ################################################## # Create folder based on local time obtained above # - This is where the script is erroring out at.... ################################################## if(!-e $createDir) { @args = ( "mkdir", $createDir); system(@args) == 0 or die "error creating $createDir!"; } ########################################################## # move logs files to new created directory named after # the local time. ########################################################### @args = ( "move" , $IWlogs , $createDir ) ; system( @args ) == 0 or die "error moving $IWlogs!"; ############################### # Restart remote Service ############################### $i=0; @ARGV = ('-') unless @ARGV; while ($ARGV = shift) { $home[$i] = $ARGV; $i = $i + 1; } $restart = 1; if ($restart == 1) {&StartServ($home[0],$home[1])}; sub StartServ { $computername = shift; $servicename = shift; Win32::Service::GetStatus("\\\\".$computername, $servicename, \%st +atus); die "service is arealdy started, please check and try again...\n" +if ($status{CurrentState} == 4); Win32::Service::StartService("\\\\".$computername,$servicename) || + die "Can't start service\n"; print "Your desired service is now started...Have a nice day!\n"; }

Edit by dws to fix formatting


In reply to Please help - problem with script on Win2K by Anonymous Monk

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.