Backup utilities built on bbsengine6. rsync-based project and PostgreSQL database backups with staging and external device support.
Install with pip install -e backuptools/src/, then back up a project:
backup empyre
Back up multiple projects at once:
backup empyre teos asimov
backup empyre
Copies from source to staging, then staging to backup device. The default mode when no flags are specified.
backup empyre --stage-only
Only copies source projects to the staging directory. Skips the backup device sync.
backup empyre --thumb-only
Only syncs staging to the backup device. Useful when staging already exists from a previous stage-only run.
backup database
Syncs PostgreSQL dumps from /srv/backups/database directly to the backup device. Also accepts 'minotaur' as an alias.
--staging PATH — Staging directory (default: /srv/backups/)--backupdevice PATH — Backup device path (default: )--excludes FILE — rsync excludes file--dry-run — Show what would be done without making changes--verbose — Verbose output--no-mount-check — Skip mount point check for backup device--stage-only — Only copy to staging, skip backup device sync--thumb-only — Only sync staging to backup device--database-source PATH — Source path for database backupsTriggers databasebackup.service 5 minutes after boot, then every hour.
Runs pg_backup_rotated.sh as the backups user to perform rotated PostgreSQL backups (daily, weekly, monthly).
Triggers syncbackups.service 5 minutes after boot, then every hour.
Runs the legacy syncbackups script for rsync-based project syncing.
Deploy with sudo make prod and enable with sudo make prod-enable.