Refactor cron job execution to use separate shell scripts and update process monitoring scripts to correctly handle PID files and log directories. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: f6d4ec61-7130-41dd-aef9-87b4bc73d0e8 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/449cf7c4-c97a-45ae-8234-e5c5b8d6a84f/7a657272-55ba-4a79-9a2e-f1ed9bc7a528/3R8dKMX
34 lines
1015 B
Bash
34 lines
1015 B
Bash
#!/bin/bash
|
|
# =========================================================
|
|
# BACKUP DATABASE - Backup giornaliero PostgreSQL
|
|
# =========================================================
|
|
|
|
BACKUP_DIR="/opt/ids/backups"
|
|
DB_NAME="ids_database"
|
|
DB_USER="ids_user"
|
|
DB_HOST="127.0.0.1"
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_FILE="$BACKUP_DIR/ids_db_$DATE.sql.gz"
|
|
LOG_FILE="/var/log/ids/backup.log"
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
mkdir -p /var/log/ids
|
|
|
|
echo "[$(date)] Backup database avviato..." >> "$LOG_FILE"
|
|
|
|
# Backup database (compressa)
|
|
PGPASSWORD=$PGPASSWORD pg_dump -h "$DB_HOST" -U "$DB_USER" "$DB_NAME" | gzip > "$BACKUP_FILE"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
|
|
echo "[$(date)] Backup completato: $BACKUP_FILE ($SIZE)" >> "$LOG_FILE"
|
|
|
|
# Keep only last 7 backups
|
|
cd "$BACKUP_DIR"
|
|
ls -t ids_db_*.sql.gz | tail -n +8 | xargs -r rm
|
|
echo "[$(date)] Cleanup backup vecchi completato" >> "$LOG_FILE"
|
|
else
|
|
echo "[$(date)] ERRORE backup database!" >> "$LOG_FILE"
|
|
exit 1
|
|
fi
|