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] #
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] # 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] # If I run rsync by command-line, from the source
machine:
-------------------------------------------------------- ############################################################ # 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->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
jean.berthold@eosholding.ch
|
<<tech.gif>>