-
Notifications
You must be signed in to change notification settings - Fork 214
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1371 from ItzNotABug/add-backups-to-docs
Document Backups
- Loading branch information
Showing
12 changed files
with
127 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
122 changes: 122 additions & 0 deletions
122
src/routes/docs/products/databases/backups/+page.markdoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
--- | ||
layout: article | ||
title: Backups | ||
description: Learn how to efficiently back up your databases on Appwrite Cloud, ensuring data security and seamless recovery. | ||
--- | ||
|
||
Appwrite Backups enable seamless, **encrypted** database backups on Cloud. | ||
All backups are **hot** backups, ensuring zero downtime and fast recovery. | ||
Learn how to efficiently back up your databases to ensure data security and smooth recovery. | ||
|
||
{% info title="Backups are available on Appwrite Cloud for all Pro, Scale, and Enterprise customers." %} | ||
{% /info %} | ||
|
||
Appwrite Backups allow you to automate database backups using backup policies, supporting pre-defined, custom retention & other options. You can also create manual backups whenever necessary. | ||
|
||
# Backup policies {% #backup-policies %} | ||
|
||
Backup policies allow you to automate your backup process. The Scale and Enterprise plans allow for more customization and offer options like how often backups should occur, how long they should be retained, and when they should run. | ||
|
||
## Creating a backup policy {% #creating-backup-policy %} | ||
|
||
To automate your database backups, you need to create backup policies that run at scheduled intervals. | ||
|
||
{% only_dark %} | ||
![Create databases screen](/images/docs/databases/dark/databases.png) | ||
{% /only_dark %} | ||
{% only_light %} | ||
![Create databases screen](/images/docs/databases/databases.png) | ||
{% /only_light %} | ||
|
||
1. In the Appwrite Console's sidebar, click **Databases** | ||
2. Create or select & navigate to your database and click on the **Backups** Tab | ||
3. Click on **Create Policies** & select a pre-defined policy\ | ||
| ||
* On a **Pro** plan, you get access to a Daily backup policy | ||
{% only_dark %} | ||
![Pro plan policy](/images/docs/databases/dark/pro-policy.png) | ||
{% /only_dark %} | ||
{% only_light %} | ||
![Pro plan policy](/images/docs/databases/pro-policy.png) | ||
{% /only_light %} | ||
|
||
* On **Scale** and **Enterprise** plans, you get access to more & custom policies\ | ||
| ||
* Select a pre-defined policy | ||
{% only_dark %} | ||
![Scale plan policies](/images/docs/databases/dark/scale-policies.png) | ||
{% /only_dark %} | ||
{% only_light %} | ||
![Scale plan policies](/images/docs/databases/scale-policies.png) | ||
{% /only_light %} | ||
* Or create a custom policy and adjust the settings as you like | ||
{% only_dark %} | ||
![Custom policies for Scale plan](/images/docs/databases/dark/scale-custom-policies.png) | ||
{% /only_dark %} | ||
{% only_light %} | ||
![Custom policies for Scale plan](/images/docs/databases/scale-custom-policies.png) | ||
{% /only_light %} | ||
|
||
4. Click on **Create** | ||
|
||
Your database is now set up for automated backups with just a few clicks. | ||
Note that you can always navigate to the same tab and click **Create Manual** to create a backup on-demand. | ||
|
||
# Manual backups {% #manual-backups %} | ||
|
||
You can always create an on-demand backup whenever necessary. | ||
|
||
1. In the Appwrite Console's sidebar, click **Databases** | ||
2. Select & navigate to your database and click on the **Backups** Tab | ||
3. Click on **Manual Backup** | ||
|
||
Depending on the size of your database, the backup process may take some time to complete. | ||
You can monitor its progress via the floating status bar at the bottom of your screen. | ||
|
||
# Restoring backups {% #restoring-backups %} | ||
|
||
To restore a database, you must have a backup of the database you want to restore. | ||
|
||
{% only_dark %} | ||
![Create databases screen](/images/docs/databases/dark/restore.png) | ||
{% /only_dark %} | ||
{% only_light %} | ||
![Create databases screen](/images/docs/databases/restore.png) | ||
{% /only_light %} | ||
|
||
1. In the Appwrite Console's sidebar, click **Databases** | ||
2. Select & navigate to your database and click on the **Backups** Tab | ||
3. Click on the options menu in the far corner of your backup | ||
4. In the dropdown menu, click **Restore**. | ||
5. Enter the new database name and an optional database ID | ||
6. Click **Restore** | ||
|
||
Depending on the size of your database, the restoration process may take some time. | ||
You can observe its status in a floating bar across your project. | ||
|
||
# Backup security & performance {% #backup-security-and-performance %} | ||
|
||
All backups created with Appwrite are: | ||
|
||
1. **Encrypted**: | ||
All backups are securely encrypted to ensure your data remains protected at all times. | ||
|
||
2. **Remotely stored**: | ||
Backups are stored in a remote location, providing an additional layer of security and ensuring your data is always recoverable. | ||
|
||
3. **Hot backups**: | ||
Backups are hot, meaning they occur with zero downtime, allowing you to recover data quickly without interrupting your projects and services. | ||
|
||
# Best practices {% #best-practices %} | ||
|
||
To ensure your backups are robust and effective, consider the following best practices: | ||
|
||
1. **Schedule regular backups**: | ||
Add multiple backup policies based on the frequency of database changes. Daily or weekly backups are often sufficient for most use cases. | ||
|
||
2. **Retain critical backups longer**: | ||
Use custom policies with longer retention to keep backups of critical data for extended periods, ensuring historical records are available when needed. | ||
|
||
3. **Optimize backup policies based on data sensitivity**: | ||
Tailor your backup frequency and retention settings according to the sensitivity and importance of the data. | ||
Critical data may require more frequent backups, while less essential data can have longer retention and fewer backups. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.