Re: Output of --list-only not as I expected for symlinks
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 > > >>> >>> >> >> > > --
Re: Output of --list-only not as I expected for symlinks
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 -- 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
Re: Output of --list-only not as I expected for symlinks
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, Floridak...@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
Re: Output of --list-only not as I expected for symlinks
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 -- 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
Re: Output of --list-only not as I expected for symlinks
--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, Floridak...@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