rsync and Perl programming
Jim Salter
jim at jrssystems.net
Wed May 5 18:30:44 GMT 2004
Hi everybody -
I'm trying to write a Perl wrapper for some rsync tasks that need doing.
Problem is, there's some sort of odd interaction going on between Perl
and the daemon mode communication for the rsync client, and I'm at my
wit's end in trying to figure it out.
Here's the Perl script:
#####################################################
#####################################################
#!/usr/bin/perl
$rsync_cmd = "/usr/local/bin/rsync -a --progress
--password-file=/usr/local/etc/rsyncd.passwd
ph34r at localhost::samba/rsynctestfiles /usr/share/smbshare/rsynctestfiles";
$pid = open(PH, "$rsync_cmd 2>&1 |"); # with an openpipe
while (<PH>) { # plus a read
print $_;
}
print "finished\n";
#####################################################
#####################################################
When I run the script, here is the output I get:
#####################################################
#####################################################
building file list ...
link_stat
"/usr/share/smbshare/Work/rsync-backup-v2/ph34r/rsynctestfiles" failed:
No such file or directory
0 files to consider
wrote 25 bytes read 20 bytes 90.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files could not be transferred (code 23) at main.c(632)
finished
#####################################################
#####################################################
Now the odd thing is, I can run the rsync command in $rsync_cmd just
fine from the shell - it rsyncs the directories in question without
problem. And if I set $rsync_cmd to something using a local path (no
daemon-mode communication) for both source and target, it will run as
expected in my Perl script too.
I'm only having the odd problem shown when using daemon mode in my Perl
wrapper. The system being used is running FreeBSD 5.1, and I have the
problem when running either rsync 2.6.0 from FreeBSD's ports tree or
2.6.2 downloaded straight from the rsync site and compiled.
Any ideas? (Help me, help me obi-Wayne...)
Jim Salter
JRS Systems
More information about the rsync
mailing list