Automated database backups with Portabase and a Storage Box
Updated 7/21/2026
Portabase backs up and restores your databases (PostgreSQL, MySQL, MariaDB, MongoDB, Redis and more) from a single web interface. By default it saves the copies locally, on the same server. A backup kept next to the database does not save you if you lose the server, so we push it onward to a cloudlinux.ro Storage Box, in a separate location.
1. Install Portabase
Pick Portabase from the app catalog. The interface starts on port 8887, and you create the admin account on first access. Local backups land in /opt/portabase/portabase-data.
2. Connect a database
From the dashboard you add a connection to the database you want to protect: type (PostgreSQL, MySQL and so on), host, port, user and password. If the database runs on another server, open its port only to the Portabase server's IP, not to the whole internet.
3. Schedule the backups
For each database you set a schedule (for example nightly) and how many versions to keep. Run the first backup manually to confirm everything works. The resulting files appear in /opt/portabase/portabase-data.
4. Push the copies to a Storage Box
The Storage Box speaks SFTP, rsync, Restic, BorgBackup and Rclone. The simplest path is to automatically sync the local backup folder to the Storage Box with Rclone, on a daily job.
Take the Storage Box SFTP details (host, user, port) from your cloudlinux.ro account, then on the Portabase server:
# Install rclone and configure an SFTP remote to the Storage Box
apt-get update -y && apt-get install -y rclone
rclone config create storagebox sftp \
host STORAGE_BOX_HOST \
user STORAGE_BOX_USER \
port SFTP_PORT \
pass "$(rclone obscure 'STORAGE_BOX_PASSWORD')"
# Test: list the contents
rclone lsd storagebox:
Then add a daily cron job (after the time Portabase finishes its backup):
crontab -e
# Sync the local backup folder to the Storage Box, every night at 03:30
30 3 * * * rclone sync /opt/portabase/portabase-data storagebox:portabase >> /var/log/rclone-portabase.log 2>&1
This gives you the 3-2-1 rule: the live data on the server, a local copy made by Portabase and a third copy on the Storage Box, in another location.
Alternative: Portabase writes straight to the Storage Box
If you prefer Portabase to write to the Storage Box from the start, mount it with Rclone as a local folder and set the mount path as the destination in Portabase:
mkdir -p /mnt/storagebox
rclone mount storagebox: /mnt/storagebox --daemon --vfs-cache-mode writes
The daily sync in step 4 is still the more robust option, because it does not depend on a mount being active the whole time.
5. Test the restore
A backup only counts if you know it restores. Once a month, take a backup file and restore it into a test database, from the Portabase interface. See also automated backups with cron for the no-interface version.
Put this guide into practice on your own VPS
EU cloud servers, billed hourly, ready in minutes, with one-click installs for dozens of apps.
See pricingRelated tutorials
How to back up a WordPress site, step by step
A complete WordPress backup: the files (wp-content) and the database, plus how to send it all to a Backup Box mounted as an extra disk.
Updated 7/21/2026BackupHow to mount a Backup Box on Windows and share it with users
Mount a Backup Box as a network drive on Windows via SMB and share it with your team: common storage, accessible like a normal disk.
Updated 7/21/2026BackupHow to back up a Laravel application, step by step
A complete Laravel backup: code, .env, storage and database, plus how to send it all to a Backup Box mounted as an extra disk.
Updated 7/21/2026