How to best update remote compressed, encrypted archives incrementally?

robert no-spam at
Sat Mar 11 11:46:24 CET 2006

Steven D'Aprano wrote:
> On Fri, 10 Mar 2006 15:13:07 +0100, robert wrote:
>>I want to put (incrementally) changed/new files from a big file tree 
>>"directly,compressed and password-only-encrypted" to a remote backup 
>>server incrementally via FTP,SFTP or DAV....  At best within a closed 
>>algorithm inside Python without extra shell tools.
> What do you mean by "closed algorithm"?
> The only thing I can think of is you mean a secret algorithm, one which
> nobody but yourself will know. So let's get this straight... you are
> asking a public newsgroup dedicated to an open-source language for
> somebody to tell you a secret algorithm that only you will know?
> Please tell me I've misunderstood.

no. I meant it terms of 'cohesive' : A Python solution without a lot of 
other tools. (Only the password has to be secret)

>>(The method should work with any protocol which allows somehow read, 
>>write & seek to a remote file.)
>>On the server and the transmission line there should never be 
>>unencrypted data.
> Break the job into multiple pieces. Your task is:
> - transmit information to the remote server;
> Can you use SSH for that? SSH will use industrial strength encryption,
> likely better than anything you can create.

Yes, sftp (=SSH) or ftp with TSL (=SSL) are good protocols. They can 
also read/navigate in a remote fila and append-to-file. But how about 

> - you want to update the files at the other end;
> Sounds like a job for any number of already existing technologies, like
> rsync (which, by the way, already uses ssh for the encrypted transmission
> of data).

As far as I know, rsync cannot update compressed+encrypted into an 
existing file(set) ?
I any case with rsync I would have to have a duplicate of the backup 
file geometry on the local machine (consuming another magnitude of the 
file stuff itself) ?

Thats why I ask: how to get all these tasks into a cohesive encrypted 
backup solution not wasting disk space and network bandwidth?


More information about the Python-list mailing list