>> Per this page
>>
>>
https://rwmj.wordpress.com/2013/04/22/using-rsync-with-libguestfs/
>>
>> We are trying to get the libguestfs API guestfs_rsync_out to work. Weve tried
combinations similar to:
>>
>> guestfs_rsync_out(g, /HostShared, rsync://root@10.0.1.90:2999/backup/ -av,
-1)
>>
>> surrounding it with APIs as in the recipe examples, for example replacing
libguestfs_cat(), with no luck. In the
>> above
>> example the "backup" rsync module name matches the script on
Richard's
wordpress.com blog page (above link).
>> Typically in the rsync daemon log we see something like:
>>
>> receiving file list
>> sent 17 bytes received 24 bytes total size 0
>>
>> but no data is transferred. We are successful using rsync from the Linux command
line, and we can get libguestfs
>> APIs
>> like guestfs_cat() to work fine. But weve had zero luck with rsync_out over the
last week.
>
> I think it's really hard to diagnose problems without turning on
> debugging in libguestfs:
>
>
http://libguestfs.org/guestfs-faq.1.html#how-do-i-debug-when-using-the-api
>
>> Unfortunately there are no actual API examples online, no
>> recipes on the
libguestfs.org site, etc. Does anyone know
>> where there are some actual libguestfs_rsync_out() working examples?
>
> The only example I can point to is this test:
>
>
https://github.com/libguestfs/libguestfs/blob/master/tests/rsync/test-rsy...
Thanks very much. In our example, the libguestfs API syntax required turns out to be:
guestfs_rsync_out(g, "/Win7Folder",
"rsync://root@10.0.1.90:2999/backup", GUESTFS_RSYNC_OUT_ARCHIVE, 1, -1)
This produces a trace result:
libguestfs: trace: rsync_out "/Win7Folder"
"rsync://root@10.0.1.90:2999/backup" "archive:true"
Also, to avoid chgrp and other permission related messages, we had to add:
uid = 0
gid = 0
in our rsyncd.conf file (we are running rsync daemaon as root).
Now we are testing guestfs_rsync_out() in a loop that runs every 1 sec. We hope to
achieve continuous synchronization
with a live Win7 guest. As I mentioned before, we're only reading from the Win7
guest, and not a lot of data is
involved, maybe a few files up to 50 MByte. These files are not changing size, just
contents.
[Update]
With continuous loop testing, what we found is that we have to shut down and re-launch the
image handle to see changes
on the Win7 live guest. Unfortunately image re-launch takes time, 3-5 sec (the image size
is 50 GByte). I'm assuming
this is because libguestfs makes an internal copy of filesystem, and works from that, and
doesn't "refresh" this
internal copy until re-launching the image handle.
Could we create a second partition on the guest that is much smaller, say 50 MByte, attach
the image to that, and thus
reduce the shutdown and re-launch time into the msec range? Is there another real-time
method, not using rsync? As a
note, for Linux guest images, we use virtFs, but it seems that WinX doesn't support
the 9p filesystem drivers required
for virtFs.
Thanks.
-Jeff