Hello,
 
I'm trying to use File::RsyncP module for tranferring Oracle archivelogs between an oracle Server
and a Standby database.
 
Running rsync by command line work perfectly. But when I try to use the Perl module, that don't work.
 
Here is my configurations and my tests:
 

Client Configuration:
--------------------
 
[EMAIL PROTECTED] [PWJA] # uname -a
SunOS jaipur 5.9 Generic_112233-11 sun4u sparc SUNW,Sun-Fire-V240
[EMAIL PROTECTED] [PWJA] #
 

[EMAIL PROTECTED] [PWJA] # perl -v
 
This is perl, v5.8.1 built for sun4-solaris
 
Copyright 1987-2003, Larry Wall
 
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
 
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
 
 
[EMAIL PROTECTED] [PWJA] # which rsync
/usr/local/bin/rsync
[EMAIL PROTECTED] [PWJA] #
 

target configuration: (rsync server)
---------------------
 
[EMAIL PROTECTED] [! NO SID !] # uname -a
SunOS udaipur 5.9 Generic_112233-11 sun4u sparc SUNW,Sun-Fire-V240
[EMAIL PROTECTED] [! NO SID !] # perl -v
 
This is perl, v5.8.1 built for sun4-solaris
 
Copyright 1987-2003, Larry Wall
 
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
 
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
 
[EMAIL PROTECTED] [! NO SID !] # which rsync
/usr/local/bin/rsync
[EMAIL PROTECTED] [! NO SID !] #
 

[EMAIL PROTECTED] # grep rsync /etc/services
# rsync pour archivelogs Oracle
rsync   873/tcp
 
[EMAIL PROTECTED] # grep rsync /etc/inetd.conf
rsync   stream  tcp     nowait  root    /usr/local/bin/rsync rsyncd --daemon   
[EMAIL PROTECTED] #
 
 
 
[EMAIL PROTECTED] # cat /etc/rsyncd.conf
#file rsyncd.conf:
#
# Section GLOBALE
motd file = /etc/rsync-motd
pid file = /var/run/rsyncd.pid             
# FIN Section GLOBALE
#
#
[PWJA_arc]
comment = Transferts des archivelogs ORACLE pour PWJA
path = /export/home/oracle/TEST-RSYNC
uid = oracle                      
gid = dba                      
max connections = 5               
secrets file = /export/home/oracle/pass.txt
read ># FIN [PWJA_arc]
#
[EMAIL PROTECTED] #
 
[EMAIL PROTECTED] # cat /export/home/oracle/pass.txt
oracle:my_password
[EMAIL PROTECTED] #
 
 
 
If I run rsync by command-line, from the source machine:
--------------------------------------------------------
 
Querying the target machine :
----------------------------
[EMAIL PROTECTED] [PWJA] # rsync udaipur::
 

                ############################################################
                # Bienvenue sur le ORACLE Stanby Database Server : UDAIPUR #
                ############################################################
 

PWJA_arc        Transferts des archivelogs ORACLE pour PWJA
OBTREE_arc      Transferts des archivelogs ORACLE pour OBTREE
 

--> OK !
 

Transfering file:
-----------------
[EMAIL PROTECTED] [PWJA] # /usr/local/bin/rsync -av . --rsync-path=/usr/local/bin/rsync [EMAIL PROTECTED]::PWJA_arc
 
                ############################################################
                # Bienvenue sur le ORACLE Stanby Database Server : UDAIPUR #
                ############################################################
 
building file list ... done
 /
 / /
 /arch_PWJA_331.arc
 /arch_PWJA_332.arc
 /arch_PWJA_333.arc
 /arch_PWJA_334.arc
 /arch_PWJA_335.arc
 /arch_PWJA_336.arc
 /arch_PWJA_337.arc
 /arch_PWJA_338.arc
 /arch_PWJA_339.arc
 /arch_PWJA_340.arc
 /arch_PWJA_341.arc
 /arch_PWJA_342.arc
 /arch_PWJA_343.arc
 /arch_PWJA_344.arc
 /arch_PWJA_345.arc
 /arch_PWJA_346.arc
 /arch_PWJA_347.arc
 /arch_PWJA_348.arc
 /arch_PWJA_349.arc
 /arch_PWJA_350.arc
./
arch_PWJA_331.arc
arch_PWJA_332.arc
arch_PWJA_333.arc
arch_PWJA_334.arc
arch_PWJA_335.arc
arch_PWJA_336.arc
arch_PWJA_337.arc
arch_PWJA_338.arc
arch_PWJA_339.arc
arch_PWJA_340.arc
arch_PWJA_341.arc
 
...
...
...
 
arch_PWJA_438.arc
arch_PWJA_439.arc
arch_PWJA_440.arc
arch_PWJA_441.arc
arch_PWJA_442.arc
arch_PWJA_443.arc
arch_PWJA_444.arc
arch_PWJA_445.arc
arch_PWJA_446.arc
arch_PWJA_447.arc
arch_PWJA_448.arc
arch_PWJA_449.arc
arch_PWJA_450.arc
arch_PWJA_451.arc
arch_PWJA_452.arc
arch_PWJA_453.arc
arch_PWJA_454.arc
f1.txt
f2.txt
f3.txt
 
wrote 1455845171 bytes  read 3173 bytes  10361909.92 bytes/sec
total size is 1455659008  speedup is 1.00
[EMAIL PROTECTED] [PWJA] #
 

As you can see, everything work fine...
 

If I try the same thing, by using the perl module:
 
Craig Barratt > File-RsyncP-0.50 > File::RsyncP
Module Version: 0.50
 
with a (very basic) script:
---------------------------
 
#!/usr/bin/perl -w
 
#use strict ;
use DBI ;
use File::RsyncP ;
 
my $srcRep  = "/export/home/oracle/TEST-RSYNC/" ;
#my $destRep = '[EMAIL PROTECTED]::PWJA_arc' ;
my $remoteHost = "udaipur" ;
my $port = 873 ;
my $module = "PWJA_arc" ;
my $user = "oracle" ;
 

my $rs = File::RsyncP->new({
            logLevel   => 1,
            rsyncCmd   => "/usr/local/bin/rsync",
            rsyncArgs  => [
                            "--numeric-ids",
                            "--perms",
                            "--owner",
                            "--group",
                            "--devices",
                            "--links",
                            "--ignore-times",
                            "--block-size=700",
                            "--relative",
                            "--recursive",
                            "-v",
                          ],
                          });
 
 
 
#$rs->remoteStart(0, [EMAIL PROTECTED]::PWJA_arc);
#$rs->go($srcRep);
#$rs->serverClose;
 
#$rs->serverConnect("udaipur", 873);
#$rs->serverService("PWJA_arc", "", "", 0);
 

$rs->serverConnect($remoteHost, $port);
$rs->serverService($module,oracle,"",0);
$rs->serverStart(0, "/export/home/oracle/TEST-RSYNC/");
$rs->go($srcRep);
$rs->serverClose;
----------------------------------------
 
Here is the output:
-------------------
[EMAIL PROTECTED] [PWJA] # sendArcLogPWJA.pl  
Use of uninitialized value in pattern match (m//) at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1113.
Use of uninitialized value in length at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1117.
Use of uninitialized value in length at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1063.
Connected to udaipur:873, remote version 27
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Sending args: --server --numeric-ids --perms --owner --group --devices --links --ignore-times --block-size=700 --relative --recursi/
Use of uninitialized value in subroutine entry at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 987.
Use of uninitialized value in subroutine entry at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 987.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
 
...
...
...
 
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in substitution iterator at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP/FileIO.pm line.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1152.
Use of uninitialized value in vec at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in scalar assignment at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1154.
Use of uninitialized value in length at /usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris/File/RsyncP.pm line 1089.
Read EOF:
Tried again: got 0 bytes
[EMAIL PROTECTED] [PWJA] #
 
 
 
We can see the line : Connected to udaipur:873, remote version 27
 
Then, the connection is established but no files transfered ...
 
My script is a copy-paste (adapted to my servers, of course...) from the source given in the perl documentation.
 
Of course, I could do this job using system('rsync...') command line but I would like to do this script multi - OS ...
 
 
Can you see what is wrong ?
 

Thanks for your help and have a nice day
 
 
EOS Holding
Jean Berthold
Administrateur Unix & Oracle
Unité Gestion de l'infrastructure
Team Systèmes
Ch. de Mornex 10
Tél. +41(0)21 341 24 58
Fax +41(0)21 341 20 49
 

<<tech.gif>>

Reply via email to