Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

FieldDescription
ActionPin to backup large-dir run
ProjectProject identification, corresponding to prj_key
DataDirDirectory Path to Volume Backup
ChunkSizeVolume Size Threshold
CompressionMinify mode:
UploadWhether to upload to object store
ResumeWhether to resume incomplete tasks
TaskRootTask directory root path
NextFormal 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

FieldvalueDescription
Actionbackup large-dir runThe type of operation currently performed, fixed asbackup large-dir run
TaskId1784000810935Unique identifier of the task used to track this backup task
TaskDir/tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935Task working directory, where task-related files are stored
Manifest/tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935/manifest.jsonManifest file path, list of files to record backup and metadata
State/tmp/.peppykeep_tmp/tasks/test_mysql_102-1784000810935/state.jsonStatus file path to record the progress of the backup (for breakpoint continuation)
FileCount4Number of files backed up this time, 4 files in total
TotalSize64 BThe total size of the backup data, this time 64 bytes
Parts1Number of shards, this time 1 shard (data is less than ChunkSize)
ChunkSize4.0 GiBThreshold size per shard, this time 4 GiB
CompressionnoneCompression mode, this time uncompressed
UploadfalseWhether to enable object storage upload, this time isfalse, only saved locally
ManifestUploadedfalseWhether the manifest file has been uploaded to the object store, this time isfalse
StatusCommand 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

FieldDescription
ActionThe type of operation currently performed, fixed asbackup large-dir run
ProjectProject identifier, corresponding to prj_key, this time test_mysql_102
DataDirThe path to the data directory to back up, this time /path/to/user/work/test_data
ChunkSizeThreshold size per shard, this time 4.0 GiB
CompressionCompression mode, this time none (uncompressed)
UploadWhether to enable the object storage upload, this time istrue(upload to the object storage after the backup is completed)
ResumeWhether to continue the previous task, this time isfalse(new task)
TaskRootTask store root directory, this time /tmp/.peppykeep_tmp/tasks
NextPrompt: 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)

FieldDescription
ActionThe type of operation currently performed, fixed asbackup large-dir run
TaskIdUnique identifier of the task used to track this backup task
TaskDirTask working directory, where task-related files are stored
ManifestManifest file path, list of files to record backup and metadata
StateStatus file path to record the progress of the backup (for breakpoint continuation)
FileCountNumber of files backed up this time, 4 files in total
TotalSizeThe total size of the backup data, this time 64 bytes
PartsNumber of shards, this time 1 shard (data is less than ChunkSize)
ChunkSizeThreshold size per shard, this time 4 GiB
CompressionCompression mode, this time uncompressed
UploadWhether to enable the object storage upload, this time istrue(upload to the object storage after the backup is completed)
ManifestUploadedWhether the manifest file has been uploaded to the object store, this time true (uploaded)
StatusTask execution status, this execution was successful ✅

Order Details Reference