Mysterious (bogus?) rsync(d) errors -- (code 23) at main.c(1045)

John Van Essen vanes002 at
Thu May 19 06:41:29 GMT 2005

On Wed, 18 May 2005, Josh Berkus <josh at> wrote:
>> Which version of rsync are you using (on source and target)?
> rsync  version 2.5.7  protocol version 26
> Copyright (C) 1996-2002 by Andrew Tridgell and others
> <>
> Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
>               IPv6, 64-bit system inums, 64-bit internal inums
> .... oh, yeah, the servers are 64-bit.  Opteron.

That's kinda old (2.6.4 is current), but should make no difference here.

>> What is the output of "ls -ld /pgdata" on both machines?  I suspect that
>> on the target it was created with non-postgres userid.
> [root at monica]# ls -ld /pgdata
> drwxr-xr-x    3 postgres dba          4096 May  5 19:06 /pgdata
> [root at phoebe]# ls -ld /pgdata
> drwxr-xr-x    3 postgres dba          4096 May  5 19:06 /pgdata
> However, if you're talking about created, you're correct.  /pgdata is a mount;
> It was created by root and changed to postgres.

It looks OK, so I can't explain the 'chown' errors.  They're already the
same so it shouldn't be trying to chown the target "." in the first place.

>> What is the output of "ls -l" for the two "non-regular" files?
> [root at monica pgdata]# ls -l pg_xlog
> lrwxrwxrwx    1 root     root           13 May 10 15:24 pg_xlog
> -> /wal/pg_xlog/
> [root at monica 17521]# ls -l pgsql_tmp
> lrwxrwxrwx    1 root     root           20 May 10 15:24 pgsql_tmp
> -> /pgtmp/e1/pgsql_tmp/
> [root at phoebe pgdata]# ls -l pg_xlog
> lrwxrwxrwx    1 root     root           12 May 16 12:00 pg_xlog
> -> /wal/pg_xlog
> [root at phoebe 17521]# ls -l pgsql_tmp
> lrwxrwxrwx    1 root     root           20 May 16 12:00 pgsql_tmp
> -> /pgtmp/e1/pgsql_tmp/

I see the symlink values are absolute paths outside of the hierarchy
being transferred.  You are using --safe-links, which says:

              This tells rsync to ignore any symbolic links which
              point outside the copied tree.  All  absolute  sym­
              links  are  also ignored. Using this option in con­
              junction  with  --relative  may   give   unexpected

The "Skipping" message is ambiguous but I'm pretty sure this the cause.
Try removing the --safe-links option.

> More information from testing:
> 1) The rsync of /pgdata succeeds if I run it as root.

So the chown errors are causing the "partial transfer" exit codes.
Try running with a few -v options to see in more detail what rsync is
trying to do...

> 2) The rsync of /wal fails no matter who I run it as; often I get "IO Error"
> in addition to the previous error message.

What is the error message, exactly?  Is it from the source or the target
(it's hard to tell on the older versions of rsync).  IO Error could also
be from 64-bit problems in rsync for files larger that 2GB.  There have
been issues in the past with that as I recall.  What file is the IO Error
happening on?


More information about the rsync mailing list