Files
wevads-platform/scripts/backup-s151.sh

39 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# WEVADS Nightly Backup S89 → S151
# Runs daily at 3:00 AM via cron
DATE=$(date +%Y%m%d)
BACKUP_DIR=/tmp/wevads-backup-${DATE}
S151=151.80.235.110
S151_USER=ubuntu
S151_PASS=MX8D3zSAty7k3243242
mkdir -p ${BACKUP_DIR}
# 1. PostgreSQL dumps
echo "[$(date)] Starting PG dumps..."
pg_dump -U admin -h 127.0.0.1 adx_system | gzip > ${BACKUP_DIR}/adx_system.sql.gz 2>/dev/null
pg_dump -U admin -h 127.0.0.1 adx_clients | gzip > ${BACKUP_DIR}/adx_clients.sql.gz 2>/dev/null
# 2. Critical configs
tar czf ${BACKUP_DIR}/configs.tar.gz /etc/pmta/config /opt/wevads/config/ /opt/wevads/vault/WEVADS-Credentials-Master.html.gold /opt/wevads/vault/WEVADS-Guide-Anti-Regression.html.gold /etc/apache2/sites-enabled/ 2>/dev/null
# 3. Ethica DB
pg_dump -U admin -h 127.0.0.1 -t ethica.medecins_real adx_system | gzip > ${BACKUP_DIR}/ethica_medecins.sql.gz 2>/dev/null
# 4. Brain configs
pg_dump -U admin -h 127.0.0.1 -t admin.brain_send_configs adx_system | gzip > ${BACKUP_DIR}/brain_configs.sql.gz 2>/dev/null
# 5. Transfer to S151
echo "[$(date)] Transferring to S151..."
sshpass -p "${S151_PASS}" ssh -o StrictHostKeyChecking=no -p 22 ${S151_USER}@${S151} "mkdir -p /opt/backups/s89/" 2>/dev/null
sshpass -p "${S151_PASS}" scp -o StrictHostKeyChecking=no -P 22 ${BACKUP_DIR}/* ${S151_USER}@${S151}:/opt/backups/s89/ 2>/dev/null
# 6. Cleanup local (keep 3 days)
rm -rf ${BACKUP_DIR}
find /tmp/wevads-backup-* -maxdepth 0 -mtime +3 -exec rm -rf {} \; 2>/dev/null
# 7. Cleanup remote (keep 7 days)
sshpass -p "${S151_PASS}" ssh -o StrictHostKeyChecking=no -p 22 ${S151_USER}@${S151} "find /opt/backups/s89/ -mtime +7 -delete" 2>/dev/null
echo "[$(date)] Backup complete."