S3Sync.net

General Category => Feature Requests => Topic started by: Scott on August 09, 2009, 04:09:10 PM



Title: leave old backups on S3 -- i.e. myfile.old1 when reuploading myfile
Post by: Scott on August 09, 2009, 04:09:10 PM
It looks like S3 supports rename now -- well via no bandwith charge copy.

   http://developer.amazonwebservices.com/connect/ann.jspa?annID=360 (http://developer.amazonwebservices.com/connect/ann.jspa?annID=360)
   http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?UsingCopyingObjects.html (http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?UsingCopyingObjects.html)

I want s3sync to keep old copies of files -- if my local copy gets corrupted I don't want to replace my backup with the corrupted file.

So I'm thinking maybe two options might be cool:

--keep-old-revisions 3

Maintain old revisions, but keep at most 3 copies.  On upload, copy the existing S3 one to file.revision1, 2 or 3, then upload the new file into existing name.

--keep-original

Never overwrite the original that was first put into S3.  On upload, check if file.original exists, if not, copy existing S3 to file.original.  Then upload new one to existing name.


Title: Re: leave old backups on S3 -- i.e. myfile.old1 when reuploading myfile
Post by: luke on September 06, 2010, 04:56:08 PM
As far as I can see this doesn't support copy yet (I'm on 1.2.4). If I put two s3 locations in the put command it errors.  If it supported the copy function (or put from and to s3) we could perform our own versioning.  I had a look at the source code but Ruby isn't my strong point and all I've managed to do is break the script so far!

Is there any sort of ETA on when a copy function might be available?  I'd be more than happy to assist in testing, this tool is otherwise excellent!

Cheers,
Luke


Title: Re: leave old backups on S3 -- i.e. myfile.old1 when reuploading myfile
Post by: ferrix on September 07, 2010, 12:15:59 PM
The poor project has been neglected for a couple years because of lack of time.  I plan a complete rewrite, avoiding ruby in favor of either lua and C, or java.  But it has not happened yet.