Files
kopia/site/content/docs/Features/_index.md
basldfalksjdf 0f6ab64dff docs(site): Reordering side and top menus (#2130)
* docs(site): Reordering side menu

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Create _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update config.toml

* Update _index.md
2022-07-03 19:36:58 -07:00

9.8 KiB
Raw Blame History

title, linkTitle, weight
title linkTitle weight
Features Features 1

Backup Files and Directories using Snapshots

Kopia creates snapshots of the files and directories you designate and uploads theses snapshots to cloud/network/local storage called a repository. Snapshots are maintained as a set of historical point-in-time records based on policies that you define.

Kopia uses content-addressable storage for snapshots, which has many benefits:

  • Each snapshot is always incremental. This means that all data is uploaded once to the repository based on file content, and a file is only re-uploaded to the repository if the file is modified. Kopia uses file splitting based on rolling hash, which allows efficient handling of changes to very large files: any file that gets modified is efficiently snapshotted by only uploading the changed parts and not the entire file.

  • Multiple copies of the same file will be stored once. This is known as deduplication and saves you a lot of storage space (i.e., saves you money).

  • After moving or renaming even large files, Kopia can recognize that they have the same content and won't need to upload them again.

  • Multiple users or computers can share the same repository: if users share the same files, they are also uploaded only once.

NOTE: There is currently no access control mechanism within repository: everybody with access to the repository can see everyone's data, so be sure you trust the other users if you share a repository with someone else.

Policies Control What and How Files/Directories are Saved in Snapshots

Kopia allows you to create an unlimited number of policies for each repository. Policies allow you to define what files/directories to backup in a snapshot and other features of a snapshot, including but not limited to:

  • how frequently/when Kopia should automatically create snapshots of your data
  • whether to exclude certain files/directories from snapshots, similar to .gitignore
  • how long to retain a snapshot before expiring it and removing it from the repository
  • whether and how to compress the files/directories being backed up

Policies can be applied at multiple different levels:

  • global (i.e., the policy is applied to all snapshots for the repository)
  • username@hostname:/path (i.e., the policy is applied only for the specific files/folders being backed up in that particular policy)
  • username@hostname (i.e., the policy is applied for all policies belonging to the specific user)
  • @hostname (i.e., the policy is applied to all policies belonging to the specific machine)

Save Snapshots to Cloud, Network, or Local Storage

Kopia performs all its operations locally on your machine, meaning that you do not need to have any dedicated server to run your backups and you can save your snapshots to a variety of storage locations. Kopia supports network and local storage locations, of course, but also many cloud or remote storage locations:

  • Amazon S3 and any cloud storage that is compatible with S3 (e.g., Wasabi, IDrive E2, DigitalOcean Spaces, and more)
  • Azure Blob Storage
  • Backblaze B2
  • Google Cloud Storage
  • Any remote server or cloud storage that supports WebDAV
  • Any remote server or cloud storage that supports SFTP
  • All cloud storage supported by Rclone (requires you to download and setup Rclone in addition to Kopia)
    • Rclone support is experimental and all the cloud storage supported by Rclone has not been tested to work with Kopia; Kopia has been tested to work with Dropbox, OneDrive, and Google Drive through Rclone
  • Your own server by setting up a Kopia Repository Server

Read the repositories help page for more information on supported storage locations.

With Kopia youre in full control of where to store your snapshots; you pick the cloud storage you want to use. Kopia plays no role in selecting your storage locations. You must provision and pay (the storage provider) for whatever storage locations you want to use, and then tell Kopia what those storage locations are. The advantage of decoupling the software (i.e., Kopia) from storage is that you can use whatever storage locations you desire - it makes no difference to Kopia what storage you use. You can even use multiple storage locations if you want to, and Kopia also supports backing up multiple machines to the same storage location.

NOTE: Different storage providers may operate slightly differently, so you need to make sure whatever storage location you use has enough capacity to store your backups and enough availability to be able to recover the data when needed.

Restore Snapshots Using Multiple Methods

To restore data, Kopia gives you three options:

  • mount the contents of a snapshot as a local disk so that you can browse and copy files/directories from the snapshot as if the snapshot is a local directory on your machine

  • restore all files/directories contained in a snapshot to any local or network location that you designate

  • selectively restore individual files from a snapshot

End-to-End 'Zero Knowledge' Encryption

All data is encrypted before it leaves your machine. Encryption is baked into the DNA of Kopia, and you cannot create a backup without using encryption. Kopia allows you to pick from two state-of-the-art encryption algorithms, AES-256 and ChaCha20.

The data is encrypted using per-content keys which are derived from the 256-bit master key that is stored in the repository. The master key is encrypted with a passphrase you provide. This means that anyone that does not know the passphrase cannot access your backed up files and will not know what files/directories are contained in the snapshots that are saved in the repository. Importantly, the passphrase you provide is never sent to any server or anywhere outside your machine, and only you know your passphrase. In other words, Kopia provides your backups with end-to-end zero knowledge encryption. However, this also means that you cannot restore your files if you forget your passphrase: there is no way to recover a forgotten passphrase because only you know it. (But you can change your passphrase if you are still connected to the repository that stores your snapshots.)

Compression

Kopia can compress your data to save storage and bandwidth. Several compression methods are supported, including:

Verifying Backup Validity and Consistency

Backing up data is great, but you also need to be able to restore that data when (if) the time arises. Kopia has built-in functions that enable you to verify the consistency/validity of your backed up files. You can run these consistency checks are frequently as you like (e.g., once a month, once a year, etc.). Read the repository consistency help docs for more information.

Recovering Backed Up Data When There is Data Loss

Although never guaranteed, Kopia can often recover your files even if there is some partial data loss at your repository (e.g., a hard drive failure), because key index information and repository metadata is stored redundantly to prevent single points of failure. Note that Kopia cannot recover data where the actual backed up data file in the repository is corrupt, so make sure to regularly run repository consistency checks (see above discussion)!

Regular Automatic Maintence of Repositories

Over time, repositories can get bloated to the point of decreased performance and waste of storage space. Kopia runs automatic maintence that ensures optimal performance and space usage. Read the maintenance help docs for more information.

Caching

Kopia maintains a local cache of recently accessed objects making it possible to quickly browse repository contents without having to download from the storage location (regardless of whether the storage is cloud, network, or local).

Both Command Line and Graphical User Interfaces

Kopia has a rich command-line interface that gives you full access to all Kopia features, including allowing you to create/connect to repositories, manage snapshots and policies, and provides low-level access to the underlying repository, including low-level data recovery.

Do not want to use command-line? No problem. Kopia also comes with a powerful official graphical user interface that allows you to easily create/connect to repositories, manage snapshots and policies, and restore data as needed.

Optional Server Mode with API Support to Centrally Manage Backups of Multiple Machines

Kopia is designed to backup individual machines and you absolutely do not need a server to run Kopia. If you have a handful of machines, you can install and use Kopia on each of them individually, no problem. At the same time, Kopia can also be run in server mode for those that are looking to centrally manage backups of multiple machines, in which case the Kopia server exposes an API that can be used to build client tools to do things like trigger snapshots, get client status, and access snapshotted data. Kopia's server mode makes it incredibly easy to centrally manage backups of multiple computers.

Speed

Kopia. Is. Fast.