Backups

Backups with encryption, rotation and restore

Age encryption, gzip/zstd compression, parallel dumps via mydumper, automatic rotation and restore of files and databases.

What backups can do

Encryption, compression, parallel dumps, rotation, verification and restore

Age encryption

The modern Age encryption standard. Individual keys for every server, private keys encrypted with AES-256-CBC. Download a recovery key for emergency restore.

gzip / zstd compression

Choose between gzip (default) and Zstandard — a modern algorithm with a better compression ratio. Configurable compression level.

mysqldump and mydumper

Standard mysqldump or multi-threaded mydumper for parallel dumps. Configure the number of threads to speed things up.

Archive and Rsync

Archive — a compressed archive, then upload. Rsync — a mirror copy for site files. Two modes for different needs.

Rotation and retention

retention_count — keep the last N copies. retention_days — keep for X days. Automatic cleanup of stale backups.

Restore

Restore of site files and databases on the original server. Databases — into another database on that server. Pre-restore copy and auto-rollback — for site files.

SFTP

Upload backups to remote servers over SFTP. Inline credentials or a shared provider for multiple profiles.

Run history

Every run is saved: status, file name, size, source size, checksum, time, errors.

Verification after upload

The verify_after_upload flag: the checksum is verified after the upload to remote storage completes.

Failure notifications

The notify_on_failure flag: alerts via Email or Telegram if a backup fails.

Site files

A full backup of the project directory: source code, uploads, configs. A separate profile for each site on the server.

Database dumps

A separate profile for each database. Support for mysqldump, mydumper, compressed and encrypted formats.

Backup profiles

Profiles with encryption, compression and rotation

Each profile — a separate configuration: compression type, dump engine, transfer mode, retention policy, encryption. Full run history with metadata.

  • Encryption, compression type and retention badges right in the list
  • Last run status: completed, failed, running, idle
  • File size, checksum and run time for each run
Backup profiles
4 profiles
demo.deploykin.com Files Age zstd
Completed
Archive · Daily at 03:00 · Retention: 30 days · Last: 2026-04-12 03:02 · 248 MB · Verified
app_production Database Age gzip
Completed
Archive · mydumper (4 threads) · Every 6 h · Retention: 10 copies · Last: 2026-04-13 06:00 · 34 MB · Verified
blog.demo.deploykin.com Files gzip
Idle
Rsync · Weekly, Mon 02:00 · Retention: 7 copies · Last: 2026-04-07 02:01 · 1.2 GB
blog_db Database Age gzip
Failed
Archive · mysqldump · Daily at 04:00 · Retention: 14 days · Last: 2026-04-13 04:00 · —
Backup restore
demo.deploykin.com — 2026-04-12 03:02 248 MB · Encrypted
demo.deploykin.com
Site files
Archive · zstd · Age encrypted
Create a pre-restore backup (.deploykin-pre-restore-*)
Auto-rollback on restore error
Restore
Restore

Restore with error protection

Restore of site files and databases on the original server. A database can be restored into another database on that server. For site files a pre-restore copy is created, and on error — an automatic rollback of the files.

  • Restore of archive profiles on the original server; databases into another database on that server
  • Support for mysqldump, mydumper, gzip, Age-encrypted formats
  • Pre-restore copy of site files: .deploykin-pre-restore-TIMESTAMP
  • Automatic rollback of site files if the restore fails
Encryption

Age encryption at the server level

Each server gets its own Age key pair. The private key is stored encrypted (AES-256-CBC) in the server_backup_keys table. The public key encrypts backups on the fly.

  • Age — the modern encryption standard, a replacement for PGP
  • Individual keys for every server (server_backup_keys)
  • Private keys are encrypted at rest with AES-256-CBC
  • Recovery key — download it for emergency restore
Encryption keys
demo.deploykin.com
Server backup key
Active
Public key (Age)
age1qy8m...xk4w2f9r
Private key (encrypted, AES-256-CBC)
••••••••••••••••••••
Recovery key
••••••••••••••••
Download
Key created: 2026-03-15. Last used: 2026-04-13 06:00

Rotation and retention policies

Two retention modes, automatic cleanup of stale backups

retention_count

Number of copies

Keep the last N backups. When a new one is created — the oldest is deleted automatically. Great for a fixed number of restore points.

retention_count: 10
The last 10 copies are kept, the 11th is deleted

retention_days

Number of days

Keep backups no older than X days. Anything older — is deleted automatically. Great for compliance and retention over a fixed period.

retention_days: 30
Backups older than 30 days are deleted automatically
Retention timeline — retention_count: 5
Apr 13
Apr 12
Apr 11
Apr 10
Apr 9
Apr 8 Deleted
Apr 7 Deleted

Run history and metadata

Every run stores complete information: file, size, checksum, errors

Backup runs — app_production
Last 5 runs
2026-04-13 06:00 Verified
Completed
app_production-20260413-060000.sql.gz.age
File: 34 MB Source: 412 MB SHA-256: a3f2c1d8
2026-04-13 00:00 Verified
Completed
app_production-20260413-000000.sql.gz.age
File: 33 MB Source: 410 MB SHA-256: e7b4a9f2
2026-04-12 18:00 Verified
Completed
app_production-20260412-180000.sql.gz.age
File: 34 MB Source: 411 MB SHA-256: c2d1f8e3
2026-04-12 12:00
Failed
File: — Source: — SHA-256: — Error: Connection timeout with the backup provider
2026-04-12 06:00 Verified
Completed
app_production-20260412-060000.sql.gz.age
File: 33 MB Source: 409 MB SHA-256: 9a3e7b1c

Backups you can trust

Encryption, rotation, verification and restore — all out of the box. Set it up once and forget it.

We use cookies and the Yandex Metrica web-analytics service (including Session Replay) to improve the site. Details are in the privacy policy.