Berimor66 / duplicati

Automatically exported from code.google.com/p/duplicati
0 stars 0 forks source link

Possibility to sync folders on more pcs through duplicati ? #161

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
think this would be an awesome feature 2 ;)

Original issue reported on code.google.com by cyberm...@uca-clan.com on 25 Jan 2010 at 10:34

GoogleCodeExporter commented 9 years ago
Are you thinking about installing Duplicati on 2 machines,
then machine A is making a backup, and machine B is "restoring" the backup?

I think the rsync program has a much more efficient method for doing this:
http://samba.anu.edu.au/rsync/

Could you try to elaborate on how you would like this supported by Duplicati?

Original comment by kenneth....@gmail.com on 30 Jan 2010 at 6:11

GoogleCodeExporter commented 9 years ago
yes, like this ;) 

installing duplicati on A and B. If something on A or B change back it up to C, 
and
syncing A and B through a "restore" process over C. 
C should store all revisions without deleting files.

i tried rsync, but i got a hang problem over cygwin/ssh. thats why i searched 
and
found your great software ;)

Original comment by cyberm...@uca-clan.com on 30 Jan 2010 at 10:23

GoogleCodeExporter commented 9 years ago
I would like to second that request :-)

Currently Duplicati limits itself to a backup app, whereas it could be so much 
more. Two-way sync to keep multiple PCs in sync (work and home, desktop and 
laptop, ...) is really useful - and by syncing via an online service, you still 
get the backup as well. As Duplicati is base on rsync, it should be possible to 
do this, right? Not sure how much the code must be changed to accomplish this, 
though. 

What are your thoughts on this? How could I help you in making this possible? 
:-) Limited coding skills, but maybe I could help in other ways?

Original comment by hendrikl...@googlemail.com on 4 Jul 2010 at 8:27

GoogleCodeExporter commented 9 years ago
Sorry for the spam, forgot to add that this would probably increase the need 
for issue 60 as well :-)

Original comment by hendrikl...@googlemail.com on 4 Jul 2010 at 8:28

GoogleCodeExporter commented 9 years ago
Currently, Duplicati makes two assumptions:
1) Data only changes on one machine
2) Data is frequently backed up, not frequently restored

What you propose breaks those two assumptions.

The problems are:

1)
If you have data that changes on two different machines, you will need to deal 
with conflicts that arise when two machines change the same file, and then try 
to sync it. A lot of research has been done on how to automate this for text 
files, but none is 100% automated. For binary files, it is required that the 
application supports this sort of merge. Simply asking the user which version 
to use won't cut it (think of a spreadsheet with two random changes), as you 
will likely loose data in both cases.

If you lock the files (only one machine allowed at a time), you will have 
issues with network failures etc.

2)
You will need a much speedier algorithm to quickly retrieve the most recent 
version of the file.

RSync can do this much faster, because it can assume that the host supports 
many features. Since Duplicati supports a wide range of hosts, it cannot assume 
that. It also has to ensure that files (and filenames) are encrypted, which 
they are not with rsync.

Duplicati implements RDiff completely, but not rsync, due to the reasons 
stated. A .net version of rsync is a different project altogether. I someone 
starts it, I will definitely look at it, but it is unlikely that I will have 
time for running the project myself.

My Alternative:
I am considering a shell extension for windows (and FUSE-app for linux/mac) 
which enables you to work with an encrypted filesystem hosted on a remote host, 
using the Duplicati backends. This will be "online only", but perhaps cache 
some data locally for speed. 

If such a plugin was available, an rsync application would be able to work as 
normal (it would think the filesystem was local), and could be used to sync two 
machines.

Original comment by kenneth....@gmail.com on 5 Jul 2010 at 8:38

GoogleCodeExporter commented 9 years ago
I think I would backup further from your two assumptions and say that this is 
less about a backup and more about efficient copying:

With the rise of Flash media that has a limited write set, every time you can 
reduce the file writes to a minimum, that's a good thing.  As such, I've been 
looking for a bit-by-bit sync program that only transfers what has changed 
since the last time for quite a while now.  Ideally this should work both 
locally (syncing data to a USB drive) as well as to an FTP server or other 
server.  In my research, your program's impressive feature set and flexibility 
appeared to be the only program that got close to this.

In other words, can you turn off compression, encryption, and iterative 
backups?  To merely update?

In any case, I'm extremely happy with this program so if you don't feel like 
adding that kind of functionality, you still have my full support.  Meaning 
going forward I'll try to actively help out in other areas.

Original comment by foldingh...@gmail.com on 8 Dec 2012 at 6:33

GoogleCodeExporter commented 9 years ago
Thanks for the kind words.

You can turn off encryption (commandline option --no-encryption) and 
compression (--zip-compression-level=0). You cannot turn off the iterative 
backups. The current engine in Duplicati is very focused on doing the 
traditional full + incremental backup. 

You can have a look at cSync or SparkleShare for programs that are more "sync" 
tools. Neither supports FTP but they both support SFTP.

http://www.csync.org/
http://sparkleshare.org/

I do have plans for something that moves away from this traditional 
full/incremental approach. See this thread for more info: 
https://groups.google.com/d/msg/duplicati/icNJpJ4T_vQ/bjqN-YWL5awJ

The new format would be a great building block for a file-sync tool too.

Original comment by kenneth@hexad.dk on 14 Dec 2012 at 9:06