/usr/share/doc/rsync/support
NameSizeModeActions
atomic-rsync39950644editdlrm
cvs2includes12120644editdlrm
deny-rsync9970644editdlrm
file-attr-restore49320644editdlrm
files-to-excludes5340644editdlrm
git-set-file-times9100644editdlrm
instant-rsyncd27830644editdlrm
logfilter11000644editdlrm
lsh22590644editdlrm
lsh.sh9560644editdlrm
Makefile800644editdlrm
mapfrom6290644editdlrm
mapto6210644editdlrm
mnt-excl18440644editdlrm
munge-symlinks14620644editdlrm
rrsync72390644editdlrm
rsync-no-vanished2670644editdlrm
rsync-slash-strip6430644editdlrm
rsyncstats86870644editdlrm
savetransfer.c45600644editdlrm
Edit: /usr/share/doc/rsync/support/munge-symlinks (1462B)
#!/usr/bin/perl # This script will either prefix all symlink values with the string # "/rsyncd-munged/" or remove that prefix. use strict; use Getopt::Long; my $SYMLINK_PREFIX = '/rsyncd-munged/'; my $munge_opt; &GetOptions( 'munge' => sub { $munge_opt = 1 }, 'unmunge' => sub { $munge_opt = 0 }, 'all' => \( my $all_opt ), 'help|h' => \( my $help_opt ), ) or &usage; &usage if $help_opt || !defined $munge_opt; my $munged_re = $all_opt ? qr/^($SYMLINK_PREFIX)+(?=.)/ : qr/^$SYMLINK_PREFIX(?=.)/; push(@ARGV, '.') unless @ARGV; open(PIPE, '-|', 'find', @ARGV, '-type', 'l') or die $!; while () { chomp; my $lnk = readlink($_) or next; if ($munge_opt) { next if !$all_opt && $lnk =~ /$munged_re/; $lnk =~ s/^/$SYMLINK_PREFIX/; } else { next unless $lnk =~ s/$munged_re//; } if (!unlink($_)) { warn "Unable to unlink symlink: $_ ($!)\n"; } elsif (!symlink($lnk, $_)) { warn "Unable to recreate symlink: $_ -> $lnk ($!)\n"; } else { print "$_ -> $lnk\n"; } } close PIPE; exit; sub usage { die <