mirror of
https://github.com/Dvorinka/SEEN.git
synced 2026-07-29 15:03:49 +00:00
small fix, don't worry about it
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
# Database Backup Script for SEEN
|
||||
# Runs daily automated backups with retention policy
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
BACKUP_DIR="/backups"
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_FILE="${BACKUP_DIR}/seen_backup_${TIMESTAMP}.sql.gz"
|
||||
RETENTION_DAYS=${BACKUP_RETENTION_DAYS:-7}
|
||||
|
||||
# Create backup directory if it doesn't exist
|
||||
mkdir -p "${BACKUP_DIR}"
|
||||
|
||||
echo "[$(date)] Starting database backup..."
|
||||
|
||||
# Perform backup
|
||||
PGPASSWORD="${POSTGRES_PASSWORD}" pg_dump \
|
||||
-h "${POSTGRES_HOST}" \
|
||||
-U "${POSTGRES_USER}" \
|
||||
-d "${POSTGRES_DB}" \
|
||||
--format=plain \
|
||||
--no-owner \
|
||||
--no-acl \
|
||||
| gzip > "${BACKUP_FILE}"
|
||||
|
||||
# Check if backup was successful
|
||||
if [ $? -eq 0 ]; then
|
||||
BACKUP_SIZE=$(du -h "${BACKUP_FILE}" | cut -f1)
|
||||
echo "[$(date)] Backup completed successfully: ${BACKUP_FILE} (${BACKUP_SIZE})"
|
||||
else
|
||||
echo "[$(date)] ERROR: Backup failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clean up old backups
|
||||
echo "[$(date)] Cleaning up backups older than ${RETENTION_DAYS} days..."
|
||||
find "${BACKUP_DIR}" -name "seen_backup_*.sql.gz" -type f -mtime +${RETENTION_DAYS} -delete
|
||||
|
||||
# List current backups
|
||||
echo "[$(date)] Current backups:"
|
||||
ls -lh "${BACKUP_DIR}"/seen_backup_*.sql.gz 2>/dev/null || echo "No backups found"
|
||||
|
||||
echo "[$(date)] Backup process completed"
|
||||
Reference in New Issue
Block a user