Usage

Running jobs manually

How to run fsbackup scripts manually via docker exec or the command line.

All scripts can be run manually via docker exec. This is useful for testing, re-running failed jobs, or running jobs outside of the scheduled window.

Doctor

The doctor checks SSH reachability and source path existence for all targets in a class. It also detects orphan snapshots and verifies annual snapshot immutability.

docker exec -it fsbackup /opt/fsbackup/bin/fs-doctor.sh --class class1
docker exec -it fsbackup /opt/fsbackup/bin/fs-doctor.sh --class class2

Any FAIL must be resolved before the runner will succeed for that target.

Snapshot runner

Dry run (safe, no changes)

docker exec -it fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1 --dry-run

Run for real

docker exec -it fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1

Run a single target

docker exec -it fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1 --target myapp.data

Force re-sync an existing snapshot

By default, unchanged files are skipped (--ignore-existing). To force a full re-sync:

docker exec -it fsbackup /opt/fsbackup/bin/fs-runner.sh daily --class class1 \
  --target myapp.data --replace-existing

Promotion

Promotes daily snapshots to weekly (on Monday) and monthly (on the 1st):

docker exec -it fsbackup /opt/fsbackup/bin/fs-promote.sh

Annual promotion

Promotes the December monthly snapshot to annual (intended for Jan 5):

docker exec -it fsbackup /opt/fsbackup/bin/fs-annual-promote.sh --dry-run
docker exec -it fsbackup /opt/fsbackup/bin/fs-annual-promote.sh

Mirror

docker exec -it fsbackup /opt/fsbackup/bin/fs-mirror.sh daily
docker exec -it fsbackup /opt/fsbackup/bin/fs-mirror.sh promote

Retention

docker exec -it fsbackup /opt/fsbackup/bin/fs-retention.sh
docker exec -it fsbackup /opt/fsbackup/bin/fs-mirror-retention.sh

S3 export

docker exec -it fsbackup /opt/fsbackup/s3/fs-export-s3.sh

Checking logs

# Main backup log
docker exec -it fsbackup tail -f /var/lib/fsbackup/log/backup.log

# Mirror log
docker exec -it fsbackup tail -f /var/lib/fsbackup/log/mirror.log

# Container output (supercronic + uvicorn)
docker logs -f fsbackup