Somehow, I feel the difference among sync, cloud storage, backup is always confusing. Here is some notes, which I think I can use to differentiate them.
- sync(machine A <-> machine B) - keep environment consistent.
- backup(machine A -> machine B/cloud storage)
- backup must have versions of files, or it is meaningless. In addition, backup tools should provide encryption, compression, which are not necessary in sync.
- cloud storage
- a machine accessible everywhere
- self-hosted cloud storage is purely a machine. This is to say any machine in the above difinitions could be a cloud storage machine. But it is better not ot do this since there is no such solution to implement all those features at the same time.
- borg review,dedup,incremental,encrypted,python,authenticated
- restic review,golang,encrypted,authenticated,dedup,incremental,ssh,s3
- duplicati compression,dedup,encrypted,incremental,s3,ssh,gpg
- Carbon Copy Cloner 5