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
34 lines
1.1 KiB
Bash
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"
|