Groups > Novell > Perl for NetWare > Re: Resetting rsync failed jobs




Resetting rsync failed jobs

Resetting rsync failed jobs
Tue, 29 Aug 2006 18:12:53 GMT
Post Reply
Re: Resetting rsync failed jobs
Wed, 30 Aug 2006 19:51:15 GMT
The rsyncd.log contains the following info: 
2006/08/24 21:04:02 [21] rsync to CRE/CRE/ from unknown (192.168.135.3)

This line is very important becasue it contains the PID and the site. The pid
being 21 the site being CRE.

So far this is what I have for a script to find the jobs in the rsyncd.log. 

Sort1.pl
#Created By Eric Seager
#This script will parse lines from a log file and output them to a text file
#Please delete the output.txt after every use
#08/22/2006

my $outfile = 'output.txt'; 

open(LOG,"rsyncd.log") or die "Unable to open
logfile:$!\n";
open(OF,'>>'.$outfile) or die("Unable to open $outfile: $!\n");


while(<LOG>)
{	
 	  print OF if /\b] wrote\b/i;
	 print OF if /\b] SendBuffer\b/i;
}
close(LOG);
close(OF); 

It creates and output.txt that contains in the following format:
2006/08/24 20:34:34 [4] wrote 2467089 bytes  read 15054665 bytes  total size
8099905083
2006/08/24 20:35:10 [11] wrote 594641 bytes  read 231504 bytes  total size
3017650046
2006/08/24 20:36:52 [9] wrote 1471567 bytes  read 11921312 bytes  total size
5861921629
2006/08/24 20:39:23 [5] wrote 1363729 bytes  read 22370958 bytes  total size
3493489374
2006/08/24 20:48:39 [14] wrote 702457 bytes  read 5296827 bytes  total size
1171217448
2006/08/24 20:51:54 [2] wrote 13891613 bytes  read 132523843 bytes  total size
83943885995
2006/08/24 21:29:40 [24] wrote 579526 bytes  read 9126936 bytes  total size
768947940
2006/08/24 21:32:07 [6] wrote 5447648 bytes  read 34235606 bytes  total size
14127499277
2006/08/24 21:32:27 [13] wrote 3707529 bytes  read 8144431 bytes  total size
13264807322
2006/08/24 21:47:19 [21] SendBuffer: Error WSASend fd=117 nRet=-1 err=10053
2006/08/24 21:47:24 [19] wrote 336065 bytes  read 26039613 bytes  total size
9768815996

What I need to happen is everytime a SendBuffer Error occurs it back references
the PID to find the Site from the string at the beginning of the post. It will
then use the site ID to fire retry-<SITEID.PL. Is there anyone out there that
has something close to this I can doctor up most scripts to work. Thanks in
advance.
Post Reply
Re: Resetting rsync failed jobs
Tue, 05 Sep 2006 11:05:28 GMT
HI Eric,

Check out the cpr-backup project.  There is a script can be modified to 
re-run an rsync on a failure.

I have modified the error checking on my version of the cpr-backup script 
to look something like this below.  All credit should go to the devolper, 
Iain McLaren.

Hope this helps


sub check_error_log {
# checks the log file for errors
# returns 0 if no errors are found


# Read in the rsync log for processing, in 'slurp' mode
open IN, $_[0] or return 1;

$/=undef;
# Read the file
$log_to_parse=<IN>;
close IN;

# Check for failure/error conditions
foreach $f (@failures)
    	{
    	
          	return 2 if ($log_to_parse =~ m/$f/i);
      }




# Check for the word 'error'  Note a file named 'error' will trigger a 
false positive

#if ($log_to_parse =~ m/\[.*\].*\ error/i)
if ($log_to_parse =~ m/\[.*1.*\].*\ error/i)
{
   return 3;
} 

# now check explicitly for success
# I want to see a [, ], and the word speedup all on one line

if ($log_to_parse =~ m/\[.*\].*speedup/i)
   {
       	return 0;
   }
   else
    {
   
       return 4;
   }
}


"Eric Seager" <Eric.Seager@greatwesternbank.com> wrote in
news:T_lJg.980$8j5.44@prv-forum2.provo.novell.com: 

> The rsyncd.log contains the following info: 
> 2006/08/24 21:04:02 [21] rsync to CRE/CRE/ from unknown
> (192.168.135.3) 
> 
> This line is very important becasue it contains the PID and the site.
> The pid being 21 the site being CRE. 
> 
> So far this is what I have for a script to find the jobs in the
> rsyncd.log. 
> 
> Sort1.pl
> #Created By Eric Seager
> #This script will parse lines from a log file and output them to a
> text file #Please delete the output.txt after every use
> #08/22/2006
> 
> my $outfile = 'output.txt'; 
> 
> open(LOG,"rsyncd.log") or die "Unable to open
logfile:$!\n";
> open(OF,'>>'.$outfile) or die("Unable to open $outfile:
$!\n"); 
> 
> while(<LOG>)
> {     
>         print OF if /\b] wrote\b/i;
>       print OF if /\b] SendBuffer\b/i;
> }
> close(LOG);
> close(OF); 
> 
> It creates and output.txt that contains in the following format:
> 2006/08/24 20:34:34 [4] wrote 2467089 bytes  read 15054665 bytes 
> total size 8099905083 2006/08/24 20:35:10 [11] wrote 594641 bytes 
> read 231504 bytes  total size 3017650046 2006/08/24 20:36:52 [9] wrote
> 1471567 bytes  read 11921312 bytes  total size 5861921629 2006/08/24
> 20:39:23 [5] wrote 1363729 bytes  read 22370958 bytes  total size
> 3493489374 2006/08/24 20:48:39 [14] wrote 702457 bytes  read 5296827
> bytes  total size 1171217448 2006/08/24 20:51:54 [2] wrote 13891613
> bytes  read 132523843 bytes  total size 83943885995 2006/08/24
> 21:29:40 [24] wrote 579526 bytes  read 9126936 bytes  total size
> 768947940 2006/08/24 21:32:07 [6] wrote 5447648 bytes  read 34235606
> bytes  total size 14127499277 2006/08/24 21:32:27 [13] wrote 3707529
> bytes  read 8144431 bytes  total size 13264807322 2006/08/24 21:47:19
> [21] SendBuffer: Error WSASend fd=117 nRet=-1 err=10053 2006/08/24
> 21:47:24 [19] wrote 336065 bytes  read 26039613 bytes  total size
> 9768815996 
> 
> What I need to happen is everytime a SendBuffer Error occurs it back
> references the PID to find the Site from the string at the beginning
> of the post. It will then use the site ID to fire retry-<SITEID.PL. Is
> there anyone out there that has something close to this I can doctor
> up most scripts to work. Thanks in advance. 
> 
Post Reply
Re: Resetting rsync failed jobs
Thu, 07 Sep 2006 21:25:19 GMT
Post Reply
Re: Resetting rsync failed jobs
Mon, 11 Sep 2006 11:57:04 GMT
Hi,

cpr-backup is a perl script you can run to control your rsync's.

Go to http://forge.novell.com/modules/xfmod/project/?cpr-backup and 
download the perl script found there.  You can then modify the 
check_error_log routine to suite our needs.


Hope this helps.

"Eric Seager" <Eric.Seager@greatwesternbank.com> wrote in
news:370Mg.3641$c34.1666@prv-forum2.provo.novell.com: 

> That is pretty kewl how do I use the script? NLM? NCF? Thanks for the
> help so far. Let me know. 
Post Reply
about | contact