| 1 | #!/usr/bin/perl |
| 2 | # This helper script makes it easy to use a passwd or group file to map |
| 3 | # values in a LOCAL transfer. For instance, if you mount a backup that |
| 4 | # does not have the same passwd setup as the local machine, you can do |
| 5 | # a copy FROM the backup area as follows and get the differing ID values |
| 6 | # mapped just like a remote transfer FROM the backed-up machine would do: |
| 7 | # |
| 8 | # rsync -av --usermap=`mapfrom /mnt/backup/etc/passwd` \ |
| 9 | # --groupmap=`mapfrom /mnt/backup/etc/group` \ |
| 10 | # /mnt/backup/some/src/ /some/dest/ |
| 11 | |
| 12 | while (<>) { |
| 13 | push @_, "$2:$1" if /^(\w+):[^:]+:(\d+)/; |
| 14 | } |
| 15 | print join(',', @_), "\n"; |