RootManage Backup

Nightly copies of files and databases without hammering the VPS. The rootmanage.com backup engine stays current from upstream. Pick your OS below for install, run, timer, and restore (one site or many).

Easy install

1. Pick one agent

Four separate programs. Installing one does not replace another. Sign in with an Active plan to see your live key, or copy it from the dashboard.

2. Pick your OS / panel

Only one OS at a time. Commands below are for Backup only.

What happens at 02:00 IST

  1. Plan must be Active. Inactive servers skip the job.
  2. MySQL/MariaDB dump with --single-transaction if mysqldump exists.
  3. PostgreSQL dump with pg_dumpall if present.
  4. Then encrypted file backup of dumps plus /home, /etc, /var/www (Plesk: /var/www/vhosts).
  5. CPU is capped (nice 19, 15% CPU quota, ionice idle).
  6. Only the last 5 backups stay in the storage box. Older snapshots are removed after each run.
  7. Log tail is posted to Dashboard → Backups.

Plans and storage

  • Starter Managed VPS — add your own SFTP or S3 box in Dashboard → Backups.
  • Pro Managed cPanel — 50 GB on RootManage storage.
  • Enterprise Fleet — 100 GB on RootManage storage.
  • Pro/Enterprise may still attach their own box instead.

SFTP vs S3 fields

SFTP: host, port (Hetzner Storage Box often 23), user, password, folder. S3: endpoint, region, bucket, access key, secret, prefix.

Restore commands by OS

After Backup is installed, pick OS again for restore (one site or many).

Pick your OS / panel — every working command for that type

Real install token: Dashboard → Backups. Guide sample uses YOUR_ANON_KEY / YOUR_TOKEN.

WHM / cPanel on AlmaLinux or CloudLinux. Paths are /home/ACCOUNT.

WHM → Terminal, or SSH as root. Do not type sudo.

1. Install (replace with the line from Dashboard → Backups)
curl -fsSL https://rootmanage.com/agent/install-backup.sh | bash -s -- --url https://rootmanage.com --key YOUR_ANON_KEY --token YOUR_TOKEN
2. Working commands after install
/usr/bin/rootmanage-backup --version
/usr/bin/rootmanage-backup --install-engines
/usr/bin/rootmanage-backup --run
/usr/bin/rootmanage-backup --self-update
systemctl status rootmanage-backup.timer rootmanage-backup.service --no-pager
systemctl list-timers rootmanage-backup.timer --no-pager
journalctl -u rootmanage-backup.service -n 80 --no-pager
tail -n 80 /var/log/rootmanage-backup.log

--run dumps MySQL/Postgres first, then files. Low CPU. 02:00 IST is the timer.

3. SFTP storage box env (before any restore)
export RESTIC_PASSWORD='YOUR_ENCRYPTION_PASSWORD'
export RESTIC_REPOSITORY='sftp:USER@HOST:FOLDER'
export SSHPASS='SFTP_PASSWORD'
export ROOTMANAGE_BACKUP_SFTP='sshpass -e ssh -o StrictHostKeyChecking=accept-new -p 23 USER@HOST -s sftp'
3b. S3-compatible env (Wasabi / AWS / B2-style)
export RESTIC_PASSWORD='YOUR_ENCRYPTION_PASSWORD'
export AWS_ACCESS_KEY_ID='KEY'
export AWS_SECRET_ACCESS_KEY='SECRET'
export RESTIC_REPOSITORY='s3:https://s3.wasabisys.com/BUCKET/PREFIX'
4. Restore ONE site (staging /restore first)
export RESTIC_PASSWORD='YOUR_ENCRYPTION_PASSWORD'
export RESTIC_REPOSITORY='sftp:USER@HOST:FOLDER'
export SSHPASS='SFTP_PASSWORD'
export ROOTMANAGE_BACKUP_SFTP='sshpass -e ssh -o StrictHostKeyChecking=accept-new -p 23 USER@HOST -s sftp'

mkdir -p /restore
nice -n 19 /usr/bin/rootmanage-backup snapshots
nice -n 19 /usr/bin/rootmanage-backup restore SNAPSHOT_ID --target /restore \
  --include /home/ACCOUNT \
  --include /var/lib/rootmanage/dumps

# When ready, copy files onto the live path:
rsync -a /restore/home/ACCOUNT/ /home/ACCOUNT/

# One MySQL database from the all-databases dump:
sed -n '/^-- Current Database: `DBNAME`/,/^-- Current Database:/p' \
  /restore/var/lib/rootmanage/dumps/mysql-all.sql > /tmp/one-db.sql
mysql DBNAME < /tmp/one-db.sql
5. Restore MULTIPLE sites (one command)
export RESTIC_PASSWORD='YOUR_ENCRYPTION_PASSWORD'
export RESTIC_REPOSITORY='sftp:USER@HOST:FOLDER'
export SSHPASS='SFTP_PASSWORD'
export ROOTMANAGE_BACKUP_SFTP='sshpass -e ssh -o StrictHostKeyChecking=accept-new -p 23 USER@HOST -s sftp'

mkdir -p /restore
nice -n 19 /usr/bin/rootmanage-backup restore SNAPSHOT_ID --target /restore \
  --include /home/account1 \
  --include /home/account2 \
  --include /home/account3 \
  --include /var/lib/rootmanage/dumps
6. Restore ALL sites on this server (heavy)
export RESTIC_PASSWORD='YOUR_ENCRYPTION_PASSWORD'
export RESTIC_REPOSITORY='sftp:USER@HOST:FOLDER'
export SSHPASS='SFTP_PASSWORD'
export ROOTMANAGE_BACKUP_SFTP='sshpass -e ssh -o StrictHostKeyChecking=accept-new -p 23 USER@HOST -s sftp'

mkdir -p /restore
nice -n 19 /usr/bin/rootmanage-backup restore SNAPSHOT_ID --target /restore \
  --include /home \
  --include /etc \
  --include /var/lib/rootmanage/dumps

Replace SNAPSHOT_ID with the id from rootmanage-backup snapshots or the Backups log. Use latest only if you are sure. Never import SQL onto production without a freeze window.

Open Backups · Health agent · Health install · Metrics guide · LiteHouse