---
title: Create recurring scheduled backups and snapshots of a database with Serverless Jobs and the Scaleway CLI
description: This step-by-step tutorial will help you automate the creation and scheduling of backups and snapshots of your database using Serverless Jobs and the Scaleway CLI
tags: serverless jobs instance snapshot backup image disk storage cli schedule cron recurring
products:
  - instances
  - jobs
dates:
  validation: 2025-06-12
  posted: 2024-06-19
  validation_frequency: 12
difficulty: beginner
usecase:
  - back-up-data
ecosystem:
  - scaleway-only
---
import Requirements from '@macros/iam/requirements.mdx'


[Scaleway Serverless Jobs](/serverless-jobs/quickstart/) allows you to create and automate recurring tasks. This tutorial will guide you through the process of creating backups and snapshots of a [Managed Database](/managed-databases-for-postgresql-and-mysql/quickstart/) on a recurring schedule using a serverless job.

Serverless Jobs are perfectly adapted for these autonomous tasks, as we do not need autoscaling or exposure via a web server. Refer to the [documentation on differences between jobs, containers, and functions](/serverless-jobs/reference-content/difference-jobs-functions-containers/) for more information.

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com).
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization.
- Created a [managed database](/classic-hosting/how-to/create-postgresql-database/).

## Creating the job definition

1. In the [Scaleway console](https://console.scaleway.com), click **Jobs** in the **Serverless** section of the side menu. The jobs page displays.

2. Click **Create job**. The job creation wizard displays.

3. For **Container Image**, select **External**, and in **Image URL**, set: `scaleway/cli:latest`.

4. Enter a name or use the automatically generated one.

5. Select the region in which your job will be created.

6. Keep the default **resources** values, as this job requires little compute capability.

7. Set **cron schedule** to `0 18 * * *` and select the relevant time zone to run the job every evening at 18:00. Refer to the [cron schedules documentation](/serverless-jobs/reference-content/cron-schedules/) for more information.

8. Define the following environment variables:
    - `SCW_ACCESS_KEY`: your API access key.
    - `SCW_SECRET_KEY`: your API secret key.
    - `SCW_DEFAULT_PROJECT_ID`: your Project ID.
    - `SCW_DEFAULT_ORGANIZATION_ID`: your Organization ID.
    - `SCW_DEFAULT_REGION`: concerned region.

    <Message type="note">
        We recommend using Secret Manager to store the `SCW_ACCESS_KEY` and `SCW_SECRET_KEY`.
    </Message>

        For more details about variables used by `cli`, refer to the [CLI config documentation](https://github.com/scaleway/scaleway-cli/blob/master/docs/commands/config.md).

9. In the **Execution** tab, define the command below, and replace the placeholder with the ID of your Database Instance:
    <Tabs>
    <TabsTab label="Backup">
    ```bash
    /scw rdb backup create instance-id=11111111-1111-1111-1111-111111111111 database-name=YOUR_DB_NAME
    ```
    </TabsTab>
    <TabsTab label="Snapshot">
    ```bash
    /scw rdb snapshot create instance-id=11111111-1111-1111-1111-111111111111
    ```
    </TabsTab>
    </Tabs>
10. Click **Create job**.

## Running the job

From the **Overview** tab of the Serverless job you just created, click **Actions**, then select **Run job** from the contextual menu.

The execution appears in the **Job runs** section. You can access the logs of your job by clicking <Icon name="more" /> next to the job run ID, and selecting **See on Cockpit**.

## Possible improvements

This tutorial is a lightweight example of how to create recurring backups and snapshots of a Managed Database for PostgreSQL and MySQL. You can go further by:
- Using it to manage all your Databases' backups and snapshots
- Creating other recurring database operations
- Setting up an alerting system in case of unexpected behavior
- Explore [scaleway/serverless-examples repository](https://github.com/scaleway/serverless-examples) for advanced automation examples

## Additional resources

- [Serverless Jobs Documentation](/serverless-jobs/how-to/create-job/)
- [Other methods to deploy Jobs](/serverless-jobs/reference-content/deploy-job/)
- [API keys documentation](/iam/how-to/create-api-keys/)
- [CRON schedule reference](/serverless-jobs/reference-content/cron-schedules/)
