CloudLinux.ro
Backup

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 pricing

Related tutorials