Backups

Complete weekly backup of every VPS without stopping it, with 4 kept, manual backups and a download link valid for 72 hours.

  • Category: Servers and infrastructure
  • Status: Available
  • Requirements: A company VPS (running or stopped); To see the backups: access to the VPS; To request a backup, a download or change the exclusion: being a company admin
  • MCP tools (Read only): listar_backups_vps, ver_backup_vps, ver_estado_descarga_backup_vps
  • MCP tools (Destructive): crear_backup_vps, crear_descarga_backup_vps, configurar_backups_vps

Markdown

What can you do with it?

  • Get an automatic backup of each VPS every 7 days, without stopping it.
  • Request a backup off schedule.
  • Download a complete backup as a .tar through a link that expires after 72 hours.
  • Exclude a VPS from automatic backups, or include it again.
  • Keep forever the last backup of a VPS that is deleted.

When should you use it?

  • Before a big change (migrating a database, upgrading the system): request a manual backup.
  • To take a complete image of the VPS outside ArduMaker.
  • For a test VPS that does not need backups: exclude it.

How does it work in ArduMaker?

The cycle

  • Every active or stopped VPS enters the cycle every 7 days.
  • A hot snapshot is taken: the VPS keeps running.
  • Backups are processed one at a time, because a backup loads the disk and network of the host, which serves other VPS.
  • If a backup fails, it is retried with a growing wait (30 minutes, 1 hour, 2 hours… up to 24 hours).
  • The last 4 backups are kept; older ones are deleted automatically.
  • Integrity is checked before storing it; a backup that does not match is discarded.

Manual backup and download

  1. An admin requests the backup (crear_backup_vps). It does not run in the request: it is queued and the backup process picks it up; it takes minutes.
  2. Once it is completed, an admin requests the download (crear_descarga_backup_vps). The platform prepares the file and emails a link to whoever asked.
  3. The download status goes through pending, staging and ready (or expired, failed). With ready, the url appears.
  4. The link expires after 72 hours.

What actually changes?

  • Nothing changes inside the VPS: the temporary snapshot is deleted at the end, even on failure.
  • The backup is stored in ArduMaker storage, outside the VPS host.
  • When a VPS is deleted, its last backup is kept forever; if that backup cannot be made, the VPS is not deleted and stays stopped with an alert.
  • Excluding a VPS stops copying it; existing backups remain, but they stop being refreshed.

What a backup contains

A single .tar, because loose pieces do not restore anything:

FileContents
LEEME.mdHow to restore by hand, with the VPS name and its domains
instancia.tar.gzThe full instance, with its snapshots and port forwards
nginx/The host nginx configuration of the VPS domains
letsencrypt/The certificates of your own domains
manifiesto.jsonPlan, domains, repositories and company; domains without a certificate in the backup, in ssl_domains_excluidos
SHA256SUMSChecksums to detect partial corruption

Platform certificates (ArduMaker zone) do not travel in the backup: whoever restores elsewhere needs their own. There is no tool for automatic restore: LEEME.md explains the manual procedure.

Diagram

  1. Hot snapshot: the VPS keeps running
  2. Export: instance + nginx + certificates + manifest
  3. Verification: checksums
  4. ArduMaker storage: the last 4 are kept
  5. Download (optional): emailed link, 72 h
A backup, end to end

Expected result

  • listar_backups_vps returns the backups from newest to oldest, with status, size, date and whether a download is prepared.
  • ver_backup_vps shows what each backup contains according to its manifest.
  • A member sees only completed backups; a company admin also sees failed attempts, but not the technical reason, which concerns shared infrastructure.
sha256sum -c SHA256SUMS

Errors and troubleshooting

AnswerCauseWhat to do
400 VPS excludedThe VPS is excluded from backupsInclude it with configurar_backups_vps
409A backup is already queued or runningWait for it to finish
429Another backup was requested less than 60 minutes ago, or there are 3 live downloads in the companyWait, or download or let downloads expire
400 when requesting a downloadThe backup is not completed or has no filePick a completed backup
404 Backup not foundIt does not exist, or it is a failed attempt a member cannot seeAsk an admin

Requesting the download twice returns the same one while it is alive. crear_backup_vps and crear_descarga_backup_vps accept idempotency_key. A backup cannot be deleted through MCP.

MCP access

Yes, in the /mcp and /mcp/vps profiles.

ToolTypePermission
listar_backups_vps, ver_backup_vpsReadVPS access
ver_estado_descarga_backup_vpsReadAdmin (the answer carries the link)
crear_backup_vpsWriteAdmin; one per hour per VPS
crear_descarga_backup_vpsWrite (sensitive data)Admin
configurar_backups_vpsWriteAdmin

There is no tool to delete backups: it is irreversible and leaves the VPS with one backup less. Reference at /mcp/docs and examples at /mcp/vps.

Related features