Files
firefrost-services/services/_archived/arbiter/backup.sh
Claude 483d12c34d Archive obsolete services (arbiter v2.0, whitelist-manager)
Moved to services/_archived/:
- arbiter/ (v2.0.0) - superseded by arbiter-3.0/
- whitelist-manager/ - merged into Trinity Console

Added README explaining what's archived and why.

DO NOT DEPLOY archived services - kept for historical reference only.

Chronicler #76
2026-04-11 08:00:17 +00:00

34 lines
1.1 KiB
Bash

#!/bin/bash
# Firefrost Arbiter - Automated Backup Script
# Location: /home/architect/arbiter/backup.sh
# Scheduled: Daily at 4:00 AM CST via crontab
APP_DIR="/home/architect/arbiter"
BACKUP_DIR="/home/architect/backups/arbiter"
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE="$BACKUP_DIR/backup_log.txt"
# Ensure the backup directory exists
mkdir -p "$BACKUP_DIR"
echo "--- Backup Started: $DATE ---" >> "$LOG_FILE"
# Safely backup databases using SQLite native backup
if ! sqlite3 "$APP_DIR/linking.db" ".backup '$BACKUP_DIR/linking_$DATE.db'"; then
echo "ERROR: Failed to backup linking.db" >> "$LOG_FILE"
exit 1
fi
if ! sqlite3 "$APP_DIR/sessions.db" ".backup '$BACKUP_DIR/sessions_$DATE.db'"; then
echo "ERROR: Failed to backup sessions.db" >> "$LOG_FILE"
exit 1
fi
# Copy config and environment files
cp "$APP_DIR/.env" "$BACKUP_DIR/env_$DATE.bak"
cp "$APP_DIR/config/roles.json" "$BACKUP_DIR/roles_$DATE.json"
# Delete backups older than 7 days to save disk space
find "$BACKUP_DIR" -type f -mtime +7 -delete
echo "Backup completed successfully." >> "$LOG_FILE"