<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 01/13/2011 06:14 PM, Wayne Davison wrote:
    <blockquote
      cite="mid:AANLkTikDeapZ1P-nJHDXPmkcrhSDhN7w-pHcX8wupTnM@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Thu, Jan 13, 2011 at 10:24 AM, Jeff
        Hansen <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:jhansen@cardaccess-inc.com">jhansen@cardaccess-inc.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> This patch allows one
            to repeat the '-x' option a third time to stop rsync from
            traversing potentially cyclic bind mounts that are on the
            same filesystem.</div>
        </blockquote>
        <div><br>
        </div>
        <div>See the support/mnt-excl script for one way exclude all
          mounts (including bind mounts) from an rsync.  The script also
          recommends an awk command piped into an absolute-anchored
          exclude, but does get some of the details wrong.  Here's a
          better explanation:</div>
        <div><br>
        </div>
        <div>
          <div>awk '{print $2}' /proc/mounts | rsync -avf 'merge,/- -'
            /dir host:/dest/</div>
        </div>
        <div><br>
        </div>
      </div>
      The above will get a list of all mount points on the system and
      use it as an exclude list to prevent any mounts from being
      traversed.  However, what it will not do is to protect the related
      mount points on the receiving side from deletion unless you happen
      to be copying into an exactly-the-same path on the destination.
       If you want the excluded directories to be protected on the
      receiving side, you're better off using the mnt-excl script (which
      tweaks the excludes to be relative to the transfer).<br
        clear="all">
      <br>
      ..wayne..<br>
    </blockquote>
    I hate to beat an (apparently) dead horse, but I've tested this
    patch on several systems and I would really appreciate it if this
    patch (or some variation of it) went into mainline.  It correctly
    syncs up whether the side with bind-mounts is local or remote. 
    Using scripts feels like an ugly work-around to the initial problem.<br>
    <br>
    -Jeff<br>
    <br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <p class="MsoNormal"><strong><b><font size="3" face="Times New
              Roman"><span style="font-size: 12pt;"></span></font></b></strong>Jeff
        Hansen<br>
      </p>
      <em><i><font size="2" face="Arial"><span style="font-size: 10pt;
              font-family: Arial;">
            </span></font></i></em><em><i><font size="2" face="Arial"><span
              style="font-size: 10pt; font-family: Arial;"></span></font></i></em>
    </div>
  </body>
</html>