Missing directory errors not ignored

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Missing directory errors not ignored

Axel Kittenberger
Dear rsync-list,

I got following issue demonstrated by this script:
$ mkdir -p src/a trg/a
$ echo "/a/b/c" > list
$ /usr/bin/rsync -slt --ignore-errors --force --ignore-missing-args --delete-missing-args --files-from=list src localhost:`pwd`/trg
file has vanished: "/home/axel/src/a/b"
ABORTING due to invalid path from sender: a/b/c
rsync error: protocol incompatibility (code 2) at generator.c(1270) [generator=3.1.2]
$ echo $?
$ /usr/local/bin/rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, no ACLs, xattrs, iconv, symtimes, prealloc

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

What I expected would be rather a warning about the missing directory and exitcode of 24 (partial transfer), Also I'd exepct rsync to continue beyond the entry in the list that has no directory instead of aborting here. Both happens properly if the target is local instead of ssh transfer.

Looking at the code in generator.c this could be workarounded by providing "-r", since it's in an if (inc_recurse ... ), but then it would sync more than only files specified in the list.

Did I overlook an option to ignore these errors or is this something with rsync?

Kind regards, Axel

PS: Not providing the non existing path in the 'list' file is not an option, since this is actually a way the live syncing daemon Lsyncd calls rsync and as the daemon always lags behind the filesystem actions, the directory which was there a second ago, might be gone when it comes to the call of rsync.

Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html