Skip to main content

Nextcloud

How to backup Nextcloud to S3

Rclone

1. Configure S3 Remote

Install rclone and run:

rclone config

Follow the prompts to create a new remote (name it mys3) using the s3 provider.

2. Create a Backup Script

A proper backup requires a database dump before the transfer. Create a script (backup.sh):

# 1. Put Nextcloud in maintenance mode
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

# 2. Dump the database (example for MariaDB)
mysqldump --single-transaction -u [user] -p[password] [db_name] > /tmp/nextcloud-db.sql

# 3. Sync to S3 (Data + Config + DB Dump)
rclone sync /var/www/nextcloud/data mys3:my-bucket/data/
rclone sync /var/www/nextcloud/config mys3:my-bucket/config/
rclone copy /tmp/nextcloud-db.sql mys3:my-bucket/database/

# 4. Turn off maintenance mode
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off