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