Managing Backups
Viewing Backup History
Go to Backups in the left sidebar to see your full backup history.
You can filter by:
- Status: All, Success, Failed, Running, Pending
- Agent: Filter by specific agent
- Database: Filter by database name
- Date range: Custom date picker
- Storage target: Filter by storage location
Backup Details
Click any backup row to open the detail panel:
Backup ID: bkp-a1b2c3d4e5f6
Status: Success
Database: postgres://localhost:5432/mydb
Storage Path: s3://my-backups/jokowipe/2024/01/15/backup-020001.dump
File Size: 142.3 MB
Compressed: Yes (ratio: 4.2x)
Duration: 45 seconds
Checksum: sha256:abc123...
Agent: db-server-01 (agent-a1b2c3)
Schedule: daily-prod (schedule-xyz)
Created At: 2024-01-15 02:00:01 UTC
Expires At: 2024-01-22 02:00:01 UTC (7 days retention)
Triggering a Manual Backup
From the Dashboard
- Click New Backup (top right)
- Select Agent from dropdown
- Enter or select Database URL
- Select Storage Target
- (Optional) Set Retention: Number of days or count
- Click Run Backup
The backup appears in your list immediately with Running status. You can click it to follow the live log stream.
From the API
curl -X POST https://api.jokowipe.id/v1/backups \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent-a1b2c3",
"database_url": "postgres://user:pass@localhost:5432/mydb",
"storage_target_id": "st-xyz789",
"retention_days": 7
}'
From the Agent CLI
jokowipe-agent backup --now \
--db postgres://user:pass@localhost:5432/mydb \
--storage-target st-xyz789
Restoring a Backup
Always test your restore procedure before you need it in an emergency. Consider scheduling automated restore verification.
Restore to Original Database
- Find the backup in the Backup History list
- Click Restore in the action menu
- Confirm the restore target (defaults to original database)
- Click Start Restore
The restore job runs on the original agent and overwrites the target database.
Restore to a Different Database
- Click Restore on any backup
- Toggle Restore to different database
- Enter the target database URL
- (Optional) Select a different agent to run the restore
- Click Start Restore
Download the Backup File
If you want to restore manually:
- Click Download on any backup
- The agent will generate a pre-signed URL to your storage target
- The file downloads directly from your storage (not through jokowipe.id servers)
From the CLI
# Restore using the agent
jokowipe-agent restore \
--backup-id bkp-a1b2c3d4e5f6 \
--target postgres://user:pass@localhost:5432/mydb_restored
Deleting Backups
Deleting a backup removes the file from your storage target permanently. This action cannot be undone.
Single Backup
Click the ... menu on any backup → Delete → Confirm.
Bulk Delete
- Select multiple backups using checkboxes
- Click Actions → Delete Selected
- Confirm the deletion
Automatic Cleanup (Retention Policy)
Backups are automatically deleted when they expire based on the retention policy set at backup time. The agent runs cleanup during each backup cycle.
Backup Logs
Click any backup → View Logs to see the full output from the backup job:
2024-01-15T02:00:01Z INFO Starting backup job bkp-a1b2c3d4e5f6
2024-01-15T02:00:01Z INFO Database: postgres://localhost:5432/mydb
2024-01-15T02:00:01Z INFO Running: pg_dump --format=custom --compress=9 ...
2024-01-15T02:00:43Z INFO Backup file created: 142.3 MB
2024-01-15T02:00:43Z INFO Uploading to s3://my-backups/jokowipe/2024/01/15/...
2024-01-15T02:00:46Z INFO Upload complete (3.1s, 45.9 MB/s)
2024-01-15T02:00:46Z INFO Verifying checksum...
2024-01-15T02:00:46Z INFO Backup complete. Size: 142.3 MB, Duration: 45s