Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Win32::Eventlog Issues: Access Denied, Incorrect log size

by BrowserUk (Patriarch)
on Jul 24, 2002 at 16:25 UTC ( [id://184928]=note: print w/replies, xml ) Need Help??


in reply to Win32::Eventlog Issues: Access Denied, Incorrect log size

A couple of things

It would be useful if you could isolate/tell us where the "Access is denied" msg is being displayed? Also, if you could isolate which line of your script is causing it.

Maybe the easiest way to do this would be to use Perl's built-in debugger.

Second point, and I hesitate to mention it as you say that "this is working 80% of the time", but...according to the Win32::EventLog docs:

$handle->Backup(FILENAME); The Backup() method backs up the EventLog represented by $handle. It t +akes a single arguemt, FILENAME. When $handle represents an EventLog +on a remote machine, <b>FILENAME is filename on the remote machine an +d cannot be a UNC path</b> (i.e you must use C:\TEMP\App.EVT). The me +thod will fail if the log file already exists.

Which if interpret correctly means that the built-in Backup() method will only work if the source and destination are on the same machine? And reading your code, it appears that you are suppling a local path ($locdir) whilst processing a remote machines logs?

It strikes me that the size related problem could be due to memory exhaustion?

Kick me if I mis-read this.

Replies are listed 'Best First'.
Re: Re: Win32::Eventlog Issues: Access Denied, Incorrect log size
by softworkz (Monk) on Jul 24, 2002 at 18:27 UTC
    Here's my two cents... Change the code around to suit your needs. This code will do away with opening a file of servers (nodes in my case), no sense in creating more files to make a mess of things? ya know?

    By the way this has been tested on windows 2000 server 2000 pro and windows Xp

    Hope it helps!
    #!/usr/bin/perl -w use strict; use Win32::EventLog; my @nodes = qw(NODE1 NODE2 NODE3); foreach my $node(@nodes) { &GetEvents($node); } sub GetEvents { my($myServer) = @_; my($date)=join("-", ((split(/\s+/, scalar(localtime)))[0,1,2,4])); my($dest); my @logs =qw(Security System Application); foreach my $eventLog (@logs) { my $handle=Win32::EventLog->new($eventLog, $myServer) || die " +Can't open Application EventLog on $myServer $!"; $dest="C:\\Perl\\scripts\\$eventLog\\$date.evt"; $handle->Backup($dest) || die "Could not backup and clear the +$eventLog EventLog on $myServer ($^E)\n"; $handle->Close; } }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://184928]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (4)
As of 2024-03-19 11:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found