Backup files are stored using the following structure:
/backup
├── vpn-server
├── keystore-server
├── data-repository-server
└── code-repository-server
Backup:
/opt/server
Example:
tar -czf server-data-$(date +%F).tar.gz /opt/server
Backup:
/etc/server
Example:
tar -czf server-config-$(date +%F).tar.gz /etc/server
Create database dump:
pg_dump <database_name> > database_$(date +%F).sql
Store resulting dump in:
/backup/data-repository-server
Backup:
/etc/nginx
Example:
tar -czf nginx-$(date +%F).tar.gz /etc/nginx
Backup:
/opt/keystore
Example:
tar -czf keystore-$(date +%F).tar.gz /opt/keystore
Backup:
/opt/keystore-toolkit
Source code is additionally protected through Git version control on the Code Repository Server.
Backup:
/srv/git
Example:
tar -czf git-repositories-$(date +%F).tar.gz /srv/git
Repositories include:
keystore.git
sisa.git
edepree-app.git
and any future repositories.
Backup:
/etc/wireguard
Example:
tar -czf wireguard-$(date +%F).tar.gz /etc/wireguard
Export UFW rules:
ufw status numbered > ufw-rules.txt
Store output in:
/backup/vpn-server
Backup:
/etc/ssh
Example:
tar -czf ssh-config-$(date +%F).tar.gz /etc/ssh
psql <database_name> < database_backup.sql
Verify application functionality after restoration.
tar -xzf git-repositories.tar.gz -C /
Verify repositories:
git show-ref
tar -xzf keystore-backup.tar.gz -C /
Verify:
Restore configuration:
tar -xzf wireguard-backup.tar.gz -C /
Restart WireGuard:
systemctl restart wg-quick@wg0
Verify:
Perform the following restoration tests:
Document all validation results and corrective actions.