39 lines
1.7 KiB
Bash
Executable File
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."
|