Extra Large Directory Volume Archive Backup
The extra large directory usesbackup large-dir, which is independent ofbak_typein bak.toml '; you need to configure local_tmp_home , optional [object_storage] , and specify data_dir in prj.toml `.
Backup to local
enforce_provisioning_action
1.prj.toml
# Project identifiers for relative path and directory identification
prj_key = "test_mysql_102"
# Local Data Storage Directory
data_dir = "/path/to/user/work/test_data"
2.bak.toml
[public]
# Backups are also saved locally
bak_location_type = "local"
# Keep last 3 historical backups locally
history_bak_num = 3
# Log level is debug mode (outputs the most detailed logs)
log_level = "DEBUG"
# Log Storage Directory
log_dir = "/tmp/logs/peppykeep"
# Local Backup Storage Home Directory
local_bak_home = "/tmp/backup/peppykeep"
# Local Temporary Working Directory
local_tmp_home = "/tmp/.peppykeep_tmp"
# The maximum length of the backup queue is 1 (serial execution, no concurrency)
max_bak_queue_size = 1
Perform the preliminary checks: § .
Open Terminal Execution
# Oversized Directory Volume Archive Backup Precheck
peppykeep backup large-dir run --config-home ~/.peppykeep/conf
When the pre-test is successful, the output is as follows:
=== Dry Run ===
Action : backup large-dir run
Project : test_mysql_102
DataDir : /path/to/user/work/test_data
ChunkSize : 4.0 GiB
Compression : none
Upload : false
Resume : false
TaskRoot : /tmp/.peppykeep_tmp/tasks
Next : Re-run with --apply to execute.
Result
| Field | Description |
|---|---|
| Action | Pin to backup large-dir run |
| Project | Project identification, corresponding to prj_key |
| DataDir | Directory Path to Volume Backup |
| ChunkSize | Volume Size Threshold |
| Compression | Minify mode: |
| Upload | Whether to upload to object store |
| Resume | Whether to resume incomplete tasks |
| TaskRoot | Task directory root path |
| Next | Formal execution after adding `--apply’ |
Perform a backup
Performing Extra Large Directory Volume Archive Backups
peppykeep backup large-dir run --apply --config-home ~/.peppykeep/conf
After executing the backup command, the output on success is as follows:
Action : backup large-dir run
TaskId : 1784003117490
TaskDir : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003117490
Manifest : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003117490/manifest.json
State : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003117490/state.json
FileCount : 4
TotalSize : 64 B
Parts : 1
ChunkSize : 4.0 GiB
Compression : none
Upload : false
ManifestUploaded : false
Status : Command completed successfully.
Result
| Field | value | Description |
|---|---|---|
| Action | backup large-dir run | The type of operation currently performed, fixed asbackup large-dir run |
| TaskId | 1784000810935 | Unique identifier of the task used to track this backup task |
| TaskDir | /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935 | Task working directory, where task-related files are stored |
| Manifest | /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935/manifest.json | Manifest file path, list of files to record backup and metadata |
| State | /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935/state.json | Status file path to record the progress of the backup (for breakpoint continuation) |
| FileCount | 4 | Number of files backed up this time, 4 files in total |
| TotalSize | 64 B | The total size of the backup data, this time 64 bytes |
| Parts | 1 | Number of shards, this time 1 shard (data is less than ChunkSize) |
| ChunkSize | 4.0 GiB | Threshold size per shard, this time 4 GiB |
| Compression | none | Compression mode, this time uncompressed |
| Upload | false | Whether to enable object storage upload, this time isfalse, only saved locally |
| ManifestUploaded | false | Whether the manifest file has been uploaded to the object store, this time isfalse |
| Status | Command completed successfully. | Task execution status, this execution was successful ✅ |
Backup to Object Storage
enforce_provisioning_action
1.prj.toml
# Project identifiers for relative path and directory identification
prj_key = "test_mysql_102"
# Local Data Storage Directory
data_dir = "/path/to/user/work/test_data"
2.bak.toml
[public]
# Save backups both locally and remotely
bak_location_type = "local_and_remote"
# Keep last 3 historical backups locally
history_bak_num = 3
# Log level is debug mode (outputs the most detailed logs)
log_level = "DEBUG"
# Log Storage Directory
log_dir = "/tmp/logs/peppykeep"
# Local Backup Storage Home Directory
local_bak_home = "/tmp/backup/peppykeep"
# Local Temporary Working Directory
local_tmp_home = "/tmp/.peppykeep_tmp"
# The maximum length of the backup queue is 1 (serial execution, no concurrency)
max_bak_queue_size = 1
[object_storage]
# Enable Object Storage
enabled = true
# Using S3 protocol (Backblaze B2 compatible)
provider = "s3"
# Bucket Name
bucket = "VoosTestBucket"
# Object key prefix (like folder path)
prefix = "test_local_voos"
# S3 Compatible Endpoints (Backblaze B2 + East)
endpoint = "https://s3.ca-east-006.backblazeb2.com"
Region
region = "ca-east-006"
Access Key ID
access_key_id = "<YOUR_ACCESS_KEY_ID>"
Access key
access_key_secret = "<YOUR_ACCESS_KEY_SECRET>"
# Use path style URL (bucket/object instead of web hosting style)
path_style = true
Perform the preliminary checks: § .
Open Terminal Execution
admindeMac-mini-2:prj_a admin$ peppykeep backup large-dir run
When the pre-test is successful, the output is as follows:
=== Dry Run ===
Action : backup large-dir run
Project : test_mysql_102
DataDir : /path/to/user/work/test_data
ChunkSize : 4.0 GiB
Compression : none
Upload : true
Resume : false
TaskRoot : /tmp/.peppykeep_tmp/tasks
Next : Re-run with --apply to execute.
Result
| Field | Description |
|---|---|
| Action | The type of operation currently performed, fixed asbackup large-dir run |
| Project | Project identifier, corresponding to prj_key, this time test_mysql_102 |
| DataDir | The path to the data directory to back up, this time /path/to/user/work/test_data |
| ChunkSize | Threshold size per shard, this time 4.0 GiB |
| Compression | Compression mode, this time none (uncompressed) |
| Upload | Whether to enable the object storage upload, this time istrue(upload to the object storage after the backup is completed) |
| Resume | Whether to continue the previous task, this time isfalse(new task) |
| TaskRoot | Task store root directory, this time /tmp/.peppykeep_tmp/tasks |
| Next | Prompt: rerun with ’–apply` parameter if you really want to execute |
Perform a backup
Performing Extra Large Directory Volume Archive Backups
peppykeep backup large-dir run --apply --config-home ~/.peppykeep/conf
After executing the backup command, the output on success is as follows:
=== Completed ===
Action : backup large-dir run
TaskId : 1784003365822
TaskDir : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003365822
Manifest : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003365822/manifest.json
State : /tmp/.peppykeep_tmp/tasks/test_mysql_102-1784003365822/state.json
FileCount : 4
TotalSize : 64 B
Parts : 1
ChunkSize : 4.0 GiB
Compression : none
Upload : true
ManifestUploaded : true
Status : Command completed successfully.
Result description (S3 as an example)
| Field | Description |
|---|---|
| Action | The type of operation currently performed, fixed asbackup large-dir run |
| TaskId | Unique identifier of the task used to track this backup task |
| TaskDir | Task working directory, where task-related files are stored |
| Manifest | Manifest file path, list of files to record backup and metadata |
| State | Status file path to record the progress of the backup (for breakpoint continuation) |
| FileCount | Number of files backed up this time, 4 files in total |
| TotalSize | The total size of the backup data, this time 64 bytes |
| Parts | Number of shards, this time 1 shard (data is less than ChunkSize) |
| ChunkSize | Threshold size per shard, this time 4 GiB |
| Compression | Compression mode, this time uncompressed |
| Upload | Whether to enable the object storage upload, this time istrue(upload to the object storage after the backup is completed) |
| ManifestUploaded | Whether the manifest file has been uploaded to the object store, this time true (uploaded) |
| Status | Task execution status, this execution was successful ✅ |