S3cmd: back up databases on your Leviia object storage space (S3 compatible)
Prerequisites
Command table
Step | PostgreSQL | MariaDB | MySQL |
---|---|---|---|
Backup | | | |
Send to S3 | | | |
S3 recovery | | | |
| | |
Script for automation
PostgreSQL
- Backup and upload to S3
#!/bin/bash
# Variables to modify
username="your_username"
database="your_database"
bucket_name="your_bucket_name"
# Backup PostgreSQL database
pg_dump -U $username -d $database > backup.sql
# Send to S3
s3cmd put backup.sql s3://$bucket_name/backup.sql
- Retrieve from S3 and restore
#!/bin/bash
# Variables to modify
bucket_name="your_bucket_name"
username="your_username"
database="your_database"
# Recovery from S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql
# Restore PostgreSQL database
psql -U $username -d $database < /tmp/backup.sql
MariaDB
- Backup and upload to S3
#!/bin/bash
# Variables to modify
username="your_username"
database="your_database"
bucket_name="your_bucket_name"
# Backup MariaDB database
mysqldump -u $username -p $database > backup.sql
# Send to S3
s3cmd put backup.sql s3://$bucket_name/backup.sql
# Delete backup file
rm backup.sql
- Recover from S3 and restore
#!/bin/bash
# Variables to modify
bucket_name="your_bucket_name"
username="your_username"
database="your_database"
# Retrieve from S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql
# Restore MariaDB database
mysql -u $username -p $database < /tmp/backup.sql
MySQL
- Backup and upload to S3
#!/bin/bash
# Variables to modify
username="your_username"
database="your_database"
bucket_name="your_bucket_name"
# MySQL database backup
mysqldump -u $username -p $database > backup.sql
# Send to S3
s3cmd put backup.sql s3://$bucket_name/backup.sql
- Retrieve from S3 and restore
#!/bin/bash
# Variables to modify
bucket_name="your_bucket_name"
username="your_username"
database="your_database"
# Retrieve from S3
s3cmd get s3://$bucket_name/backup.sql /tmp/backup.sql
# Restore MySQL database
mysql -u $username -p $database < /tmp/backup.sql
Updated on: 05/01/2024
Thank you!