Note that there are some explanatory texts on larger screens.

plurals
  1. PORSync backup of Subversion repository with Rsyncrypto
    primarykey
    data
    text
    <p><strong>The Situation</strong></p> <p>I have a pretty large Subversion repository that I am trying to backup efficiently. The repository size is about 6 GB and growing. Some large commits are around 500 to 1GB in size.</p> <p>I am trying to backup this repository to an off-site location, through an Internet up-link.</p> <p><strong>Explaining the sheer size of it</strong></p> <blockquote> <p>To whomever is wondering, we keep the whole production environment for various sites (config files, EXEs, data files) in this one repository so that we can rollback to an existing working version and track the changes to the production setup. Code is kept on a different repository.</p> </blockquote> <p><strong>The How</strong></p> <p>Here is what I am actually doing:</p> <ol> <li>Backup of the repository to a working folder on the server using the <strong>"svnadmin hotcopy SRCDIR TGTDIR"</strong></li> <li>Encrypt and compress that repository using <strong>"rsyncrypto -r SRCPATH DSTPATH KEYSPATH CERTIFICATE"</strong></li> <li>Backup that encrypted version to an off-site location using <strong>"rsync -Crtv"</strong> (actually cwRsync because I am running on Windows)</li> </ol> <p><strong>The Problem</strong></p> <p>First I have to say that it works, though it still has an underlying issue.</p> <p>The problem lies with the fact that I was expecting that each time the process would run, only the <strong>new</strong> revision files/data would be copied ([repos]/db/revs/0/...) thus requiring only bandwidth and time when a large commit is made. However, instead:</p> <ul> <li>If I run only step #3 many times, rsync behaves as it should and nothing is copied because nothing has changed.</li> <li>If I run only steps #2 &amp; #3 many times, rsync also behaves well. The envrypted version is the same everytime and rsync doesn't have to transmit anything.</li> <li>But, it seems that every time I run <strong>all three steps</strong> (with a new commit having been made to the repository) the whole repository is being <strong>re-uploaded in full</strong>. Thus, defeating the whole purpose of using rsync in the first place.</li> </ul> <p>It is as though the files in [repos]/db/revs/0/... are changing everytime I make a hotcopy.</p> <p><strong>The Questions</strong></p> <p>Is this an expected behavior from "svnadmin hotcopy" that the [repos]/db/revs/0/... are changing from one hotcopy to another?</p> <p>Any suggestion or options I could use to make this hotcopy <strong>rsync friendly</strong> or say <strong>rsyncable</strong>?</p> <p>I am not quite sure that the use of 'svnadmin dump' on the whole repository would produce an <strong>"rsyncable" file</strong>.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload