Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
backup [2017/03/30 08:03] mike |
backup [2020/02/08 07:24] (aktuell) mike |
||
---|---|---|---|
Zeile 18: | Zeile 18: | ||
Das Backup wird komprimiert mittels gzip und asymmetrisch verschlüsselt. Der Publickey zum Verschlüsseln liegt dabei am Server, der Privatekey wird sicher verwahrt und wird nur zum entschlüsseln eines Backups benötigt - er liegt nicht innerhalb der VM. | Das Backup wird komprimiert mittels gzip und asymmetrisch verschlüsselt. Der Publickey zum Verschlüsseln liegt dabei am Server, der Privatekey wird sicher verwahrt und wird nur zum entschlüsseln eines Backups benötigt - er liegt nicht innerhalb der VM. | ||
+ | |||
+ | ===== Cron ===== | ||
+ | |||
+ | Das Backup wird über Cron gesteuert, die Crontab (für root) sieht dabei so aus: | ||
+ | |||
+ | <file> | ||
+ | 0 4 * * * /opt/webserver/backup/backup.sh | ||
+ | 0 4 1 * * /opt/webserver/backup/backup.sh month | ||
+ | 0 4 1 1 * /opt/webserver/backup/backup.sh year | ||
+ | </file> | ||
+ | |||
+ | Die Backups erfolgen dabei immer um 4 Uhr früh (Täglich, am 1. des Monats und jedes Jahr am 1. 1.) | ||
+ | |||
===== Skripte ===== | ===== Skripte ===== | ||
Zeile 47: | Zeile 60: | ||
BACKUP_DIR=/srv/backup | BACKUP_DIR=/srv/backup | ||
- | DATABASE="datenschutz" | + | DATABASE="datareporter" |
+ | # Remove backups older than 2 days | ||
+ | # They should already be synced to S3 bucket | ||
+ | find $BACKUP_DIR/*.enc -mtime +2 -exec rm {} \; | ||
DOW=$(date +%u) | DOW=$(date +%u) | ||
Zeile 59: | Zeile 75: | ||
YEARLY_FILE="mysqldump_yearly_$YEAR.sql.gz.enc" | YEARLY_FILE="mysqldump_yearly_$YEAR.sql.gz.enc" | ||
+ | # Remove backups older than 2 days | ||
+ | # They should already be synced to S3 bucket | ||
+ | find $BACKUP_DIR/*.enc -mtime +2 -exec rm {} \; | ||
BACKUPFILE=$BACKUP_DIR/$DAILY_FILE | BACKUPFILE=$BACKUP_DIR/$DAILY_FILE | ||
Zeile 135: | Zeile 154: | ||
echo "** please delete your private key now: $KEYFILE" | echo "** please delete your private key now: $KEYFILE" | ||
</code> | </code> | ||
+ | |||
+ | ===== AWS Backup auf S3 Bucket ===== | ||
+ | |||
+ | Die erstellten und verschlüsselten Backups werden dann auf einen S3 Bucket synchronisiert. Der Bucket ist mit Versioning erstellt, so dass alle Objekte versioniert werden. | ||
+ | |||
+ | Konfiguration: | ||
+ | |||
+ | aws configure | ||
+ | |||
+ | Benutzer Key / Shared Secret eingeben | ||
+ | |||
+ | region: eu-central-1 | ||
+ | |||
+ | Crontab für upload: | ||
+ | |||
+ | <file> | ||
+ | 0 6 * * * /usr/bin/aws s3 sync /srv/backup s3://datenschutz.traunau.at/develop | ||
+ | </file> | ||
+ | |||