> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://wiki.leviia.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# S3cmd : sauvegarder des bases de données sur votre espace de stockage objet Leviia (compatible S3)

# Pré-requis
* [Avoir créé vos identifiants](/fr/article/creer-des-buckets-sur-le-dashboard-leviia-1duizn5/) 
* [Avoir configuré et installé s3cmd](/fr/article/configuration-et-utilisation-de-s3cmd-1xd0jna/)

# Tableau de commandes
| Étape                 | PostgreSQL                                       | MariaDB                                          | MySQL                                          |
|-----------------------|--------------------------------------------------|--------------------------------------------------|------------------------------------------------|
| Sauvegarde            | `pg_dump -U <username> -d <database> > backup.sql`   | `mysqldump -u <username> -p <database> > backup.sql` | `mysqldump -u <username> -p <database> > backup.sql` |
| Envoi vers S3         | `s3cmd put backup.sql s3://<bucket-name>/backup.sql` | `s3cmd put backup.sql s3://<bucket-name>/backup.sql` | `s3cmd put backup.sql s3://<bucket-name>/backup.sql` |
| Récupération depuis S3 | `s3cmd get s3://<bucket-name>/backup.sql backup.sql` | `s3cmd get s3://<bucket-name>/backup.sql backup.sql` | `s3cmd get s3://<bucket-name>/backup.sql backup.sql` |
| Restauration           | `psql -U <username> -d <database> < backup.sql`      | `mysql -u <username> -p <database> < backup.sql`      | `mysql -u <username> -p <database> < backup.sql`      |

# Script pour automatisation
## PostgreSQL
* Sauvegarde et envoi vers S3
```bash
#!/bin/bash

# Variables à modifier
username="your_username"
database="your_database"
bucket_name="your_bucket_name"

# Sauvegarde de la base de données PostgreSQL
pg_dump -U $username -d $database > backup.sql

# Envoi vers S3
s3cmd put backup.sql s3://$bucket_name/backup.sql
```
* Récupération depuis S3 et restauration
```bash
#!/bin/bash

# Variables à modifier
bucket_name="your_bucket_name"
username="your_username"
database="your_database"

# Récupération depuis S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql

# Restauration de la base de données PostgreSQL
psql -U $username -d $database < /tmp/backup.sql
```

## MariaDB
* Sauvegarde et envoi vers S3
```bash
#!/bin/bash

# Variables à modifier
username="your_username"
database="your_database"
bucket_name="your_bucket_name"

# Sauvegarde de la base de données MariaDB
mysqldump -u $username -p $database > backup.sql

# Envoi vers S3
s3cmd put backup.sql s3://$bucket_name/backup.sql

# Suppression du fichier de sauvegarde
rm backup.sql
```
* Récupération depuis S3 et restauration
```bash
#!/bin/bash

# Variables à modifier
bucket_name="your_bucket_name"
username="your_username"
database="your_database"

# Récupération depuis S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql

# Restauration de la base de données MariaDB
mysql -u $username -p $database < /tmp/backup.sql
```
## MySQL
* Sauvegarde et envoi vers S3
```bash
#!/bin/bash

# Variables à modifier
username="your_username"
database="your_database"
bucket_name="your_bucket_name"

# Sauvegarde de la base de données MySQL
mysqldump -u $username -p $database > backup.sql

# Envoi vers S3
s3cmd put backup.sql s3://$bucket_name/backup.sql
```
* Récupération depuis S3 et restauration
```bash
#!/bin/bash

# Variables à modifier
bucket_name="your_bucket_name"
username="your_username"
database="your_database"

# Récupération depuis S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql

# Restauration de la base de données MySQL
mysql -u $username -p $database < /tmp/backup.sql
```