Then that just leaves --dry-run. More flexibility you might not know: If you double --itemize-changes it will show all the files it considers including what it skips for being the same. If you double -v you will get debugging for include/exclude rules.
On 09/12/2018 10:26 PM, Michael Hipp via rsync wrote: > My apologies. I'm evidently not communicating very well. > > I am not asking for a list of what "needs to be transferred", I am > looking for a list of those things that are "candidates to transfer". In > other words, the source items minus exclusions/filters or anything else > that will be ignored (by rsync). > > Is there any option for rsync that offers such a list? > >> find /path -type f -or -type d -print (or -ls) > > This tells me nothing about what *rsync* expects to do. In particular it > won't consider rsync's filters/exclusions. > > Thanks, > Michael > > On 2018-09-12 20:54, Kevin Korb via rsync wrote: >> How would it know what needs to be transferred without looking at both >> source and target? You are correct that it doesn't pay any attention to >> the target because it doesn't need a target. If the source is remote >> then it will connect to the remote to do a remote listing and if the >> source is local then no connection is needed but then neither is rsync. >> As far as obeying the recursive flag, so does ls. >> >> I didn't know it cared about exclude rules but you are right that it >> does. Guess I never tried. I only ever used it when I was trying to >> see what was on an rsync server. >> >> Anyway, if you want to list all the files and dirs but not symlinks and >> others in a local tree: >> find /path -type f -or -type d -print (or -ls) >> >> On 09/12/2018 07:53 PM, Michael Hipp via rsync wrote: >>> Thank you. But I'm afraid I don't understand. The man entry reads: >>> >>> "--list-only >>> This option will cause the source files to be listed instead of >>> transferred. This option is inferred if there is a single source arg and >>> no destination specified..." >>> >>> It doesn't say anything about "list remote files". In fact I am not sure >>> why it would even contact the remote end. And the behavior does not >>> change even if no destination is specified. >>> >>> As far as it ignoring the rest of the command line, note that it does >>> obey exclusion rules. Symlinks seem to be the only anomaly in its >>> output. >>> >>> I use --dry-run and --itemize-changes frequently. But I was trying to >>> find something that would give me a correct list of the candidate source >>> files but without having to make an expensive connect to the remote >>> server. Any suggestions? >>> >>> Thanks, >>> Michael Hipp >>> >>> >>> >>> On 2018-09-12 11:17, Kevin Korb via rsync wrote: >>>> --list-only is simply a way to list remote files when you only have >>>> access via rsync. It ignores the rest of the command line. You want >>>> --dry-run (--itemize-changes would be a good idea too). >>>> >>>> On 09/12/2018 11:06 AM, Michael Hipp via rsync wrote: >>>>> The output of --list-only isn't as I expected as regards symlinks. >>>>> Here >>>>> are my test files: >>>>> >>>>> $ ls ./src >>>>> -rw------- 1 michael michael 0 2018-09-05 09:18:15 file >>>>> lrwxrwxrwx 1 michael michael 4 2018-09-05 09:18:28 near_symlink >>>>> -> file >>>>> lrwxrwxrwx 1 michael michael 23 2018-09-05 09:19:05 far_symlink -> >>>>> /home/michael/Documents >>>>> >>>>> The "destination" dir is empty: >>>>> >>>>> $ ls ./dest >>>>> drwxr-xr-x 31 michael michael 4.0K 2018-09-12 09:46:06 .. >>>>> drwx------ 2 michael michael 4.0K 2018-09-12 09:50:20 . >>>>> >>>>> I want to know which files are candidates to transfer. I don't want >>>>> symlinks to transfer. So I run it with --list-only : >>>>> >>>>> $ rsync -r --no-links --list-only ./src/ ./dest >>>>> drwx------ 4,096 2018/09/06 09:39:16 . >>>>> lrwxrwxrwx 23 2018/09/05 09:19:05 far_symlink >>>>> -rw------- 0 2018/09/05 09:18:15 file >>>>> lrwxrwxrwx 4 2018/09/05 09:18:28 near_symlink >>>>> >>>>> This seems to indicate the symlinks are expected to transfer. But if I >>>>> actually run the transfer by removing --list-only ... >>>>> >>>>> $ rsync -r --no-links ./src/ ./dest >>>>> skipping non-regular file "far_symlink" >>>>> skipping non-regular file "near_symlink" >>>>> >>>>> It does not transfer the symlinks and this is confirmed by the >>>>> contents >>>>> of dest: >>>>> >>>>> $ ls ./dest >>>>> drwxr-xr-x 31 michael michael 4.0K 2018-09-12 09:46:06 .. >>>>> -rw------- 1 michael michael 0 2018-09-12 09:57:50 file >>>>> drwx------ 2 michael michael 4.0K 2018-09-12 09:57:50 . >>>>> >>>>> So it seems like --list-only isn't being truthful as it surely knows >>>>> beforehand the symlinks will not be transferred regardless of the >>>>> condition of dest. >>>>> >>>>> What am I missing? >>>>> >>>>> Thanks, >>>>> Michael Hipp >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > -- ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._., Kevin Korb Phone: (407) 252-6853 Systems Administrator Internet: FutureQuest, Inc. ke...@futurequest.net (work) Orlando, Florida k...@sanitarium.net (personal) Web page: https://sanitarium.net/ PGP public key available on web site. ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,
signature.asc
Description: OpenPGP digital signature
-- 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