aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rwxr-xr-x[-rw-r--r--]support/mapfrom10
-rwxr-xr-x[-rw-r--r--]support/mapto10
3 files changed, 24 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 3de0006a..f0de0ca6 100644
--- a/NEWS
+++ b/NEWS
@@ -38,6 +38,10 @@ Changes since 3.0.4:
- Added an "instant-rsyncd" script to the support directory, which makes
it easy to configure a simple rsync daemon in the current directory.
+ - Added the "mapfrom" and "mapto" scripts to the support directory, which
+ makes it easier to do user/group mapping in a local transfer based on
+ passwd/group files from another machine.
+
DEVELOPER RELATED:
- Added more conditional debug output.
diff --git a/support/mapfrom b/support/mapfrom
index 4e0b71d6..ca3b8173 100644..100755
--- a/support/mapfrom
+++ b/support/mapfrom
@@ -1,4 +1,14 @@
#!/usr/bin/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+)/;
}
diff --git a/support/mapto b/support/mapto
index 8bafa100..a1dbe3c1 100644..100755
--- a/support/mapto
+++ b/support/mapto
@@ -1,4 +1,14 @@
#!/usr/bin/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 TO the backup area as follows and get the differing ID values
+# mapped just like a remote transfer TO the backed-up machine would do:
+#
+# rsync -av --usermap=`mapto /mnt/backup/etc/passwd` \
+# --groupmap=`mapto /mnt/backup/etc/group` \
+# /some/src/ /mnt/backup/some/dest/
+
while (<>) {
push @_, "$1:$2" if /^(\w+):[^:]+:(\d+)/;
}