Skip to content

Commit

Permalink
Merge pull request #1371 from ItzNotABug/add-backups-to-docs
Browse files Browse the repository at this point in the history
Document Backups
  • Loading branch information
christyjacob4 authored Oct 17, 2024
2 parents 472fd89 + 5fc0d31 commit c18dcc0
Show file tree
Hide file tree
Showing 12 changed files with 127 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/routes/docs/products/databases/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@
{
label: 'Relationships',
href: '/docs/products/databases/relationships'
},
{
label: 'Backups',
new: true,
href: '/docs/products/databases/backups'
}
]
},
Expand Down
122 changes: 122 additions & 0 deletions src/routes/docs/products/databases/backups/+page.markdoc
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.
Binary file added static/images/docs/databases/dark/databases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/docs/databases/dark/pro-policy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/docs/databases/dark/restore.png
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.
Binary file added static/images/docs/databases/databases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/docs/databases/pro-policy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/docs/databases/restore.png
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.
Binary file added static/images/docs/databases/scale-policies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c18dcc0

Please sign in to comment.