feat: Add backup and security hardening

This commit is contained in:
2025-11-08 00:28:17 +01:00
parent 8de3f16ee6
commit 96f521a474
23 changed files with 5696 additions and 939 deletions

76
scripts/backup-setup/INSTALL.sh Executable file
View File

@@ -0,0 +1,76 @@
#!/bin/bash
# Installation script for backup system
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=========================================="
echo "Installing Backup System"
echo "=========================================="
echo ""
# Install backup scripts
echo "Installing backup scripts to /usr/local/bin/..."
sudo cp "$SCRIPT_DIR/backup-setup" /usr/local/bin/
sudo cp "$SCRIPT_DIR/backup-full" /usr/local/bin/
sudo cp "$SCRIPT_DIR/backup-home" /usr/local/bin/
sudo cp "$SCRIPT_DIR/backup-incremental" /usr/local/bin/
sudo cp "$SCRIPT_DIR/backup-configs" /usr/local/bin/
# Make executable
sudo chmod +x /usr/local/bin/backup-setup
sudo chmod +x /usr/local/bin/backup-full
sudo chmod +x /usr/local/bin/backup-home
sudo chmod +x /usr/local/bin/backup-incremental
sudo chmod +x /usr/local/bin/backup-configs
echo "✓ Scripts installed"
echo ""
# Create directories
echo "Creating directories..."
sudo mkdir -p /usr/local/share/backup-setup
sudo mkdir -p /var/lib/backup
sudo touch /var/log/backup.log
sudo chmod 644 /var/log/backup.log
echo "✓ Directories created"
echo ""
# Copy example config
echo "Copying example configuration..."
sudo cp "$SCRIPT_DIR/backup.conf.example" /usr/local/share/backup-setup/
if [ ! -f /etc/backup.conf ]; then
sudo cp "$SCRIPT_DIR/backup.conf.example" /etc/backup.conf
echo "✓ Configuration file created at /etc/backup.conf"
echo ""
echo "⚠ IMPORTANT: Edit /etc/backup.conf with your NAS details:"
echo " sudo nvim /etc/backup.conf"
else
echo "✓ Configuration file already exists at /etc/backup.conf"
fi
echo ""
echo "=========================================="
echo "Installation Complete!"
echo "=========================================="
echo ""
echo "Next steps:"
echo " 1. Configure NAS connection:"
echo " sudo nvim /etc/backup.conf"
echo ""
echo " 2. Set up SSH key authentication:"
echo " ssh-keygen -t ed25519 -C \"backup@gentoo-workstation\""
echo " ssh-copy-id -p PORT user@nas-host"
echo ""
echo " 3. Test connection:"
echo " backup-setup test"
echo ""
echo " 4. Run test backup:"
echo " backup-setup backup configs"
echo ""
echo " 5. Check status:"
echo " backup-setup status"
echo ""