Configuration
Scheduling
How to configure the backup schedule using the supercronic crontab or systemd timers.
Docker (supercronic)
In the Docker deployment, scheduling is handled by supercronic reading /etc/fsbackup/fsbackup.crontab.
The crontab file is bind-mounted from the host — edit it on the host and supercronic will hot-reload automatically.
Default schedule
# Doctor class1 (daily 01:15)
15 1 * * * /opt/fsbackup/bin/fs-doctor.sh --class class1
# DB export: paperlessngx (daily 01:40)
40 1 * * * /opt/fsbackup/bin/fs-db-export.sh /etc/fsbackup/db/paperlessngx.env
# Runner class1 (daily 01:45)
45 1 * * * /opt/fsbackup/bin/fs-runner.sh daily --class class1
# Doctor class2 (daily 02:05)
5 2 * * * /opt/fsbackup/bin/fs-doctor.sh --class class2
# Runner class2 (daily 02:15)
15 2 * * * /opt/fsbackup/bin/fs-runner.sh daily --class class2
# Mirror daily pass (daily 02:30)
30 2 * * * /opt/fsbackup/bin/fs-mirror.sh daily
# Retention (daily 03:00)
0 3 * * * /opt/fsbackup/bin/fs-retention.sh
# Promote daily->weekly/monthly (daily 03:30)
30 3 * * * /opt/fsbackup/bin/fs-promote.sh
# Mirror promote pass (daily 03:40)
40 3 * * * /opt/fsbackup/bin/fs-mirror.sh promote
# Mirror retention (daily 04:00)
0 4 * * * /opt/fsbackup/bin/fs-mirror-retention.sh
# S3 export (daily 04:30)
30 4 * * * /opt/fsbackup/s3/fs-export-s3.sh
# Runner class3 / monthly archives (1st of month 04:45)
45 4 1 * * /opt/fsbackup/bin/fs-runner.sh monthly --class class3
# Annual promote (Jan 5 03:00)
0 3 5 1 * /opt/fsbackup/bin/fs-annual-promote.sh
Customizing
Add a class, change timing, or disable a job by editing /etc/fsbackup/fsbackup.crontab on the host. Changes take effect immediately — no container restart needed.
Bare-metal (systemd)
In a bare-metal deployment, each job has a corresponding systemd .service and .timer unit in systemd/.
# Check timer status
systemctl list-timers | grep fsbackup
To disable a job:
sudo systemctl disable --now fsbackup-runner@class3.timer