Beiträge zu dem Tag: “backup”

AWS S3 Buckets auf IP Adressen einschränken

Die ersten Gehversuche mit Restic Backups sind recht erfolgversprechend. Bisher ist der lokale Server oder ein Hetzner FTP Server das Ziel.

Für einige kleinere Server nutze ich das hier beschriebene Verfahren mit Amazon S3 Storage.

Um neben der Einschränkung über ID/Password eine zusätzliche Barriere einzurichten habe ich die dort beschriebene Policy noch um den Parameter IP Adresse erweitert. Damit es es nur noch möglich vom zu sichernden Rechner auf das Backup Medium zuzugreifen.

Da man dies über die Webverwaltung ändern kann könnten man im Fall der Fälle dies auch abschalten und dann von einem anderen Rechner auf das Backup zugreifen.

 "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "wwww.xxx.yyy.zz"
                }
            }
20.10.17
Weitere Beiträge zu: backup   restic   aws   s3  

Backups mit restic

Ich habe in der letzten Zeit viel gutes über das Backup Verfahren restic gelesen (z.B. hier. Meine bisherigen Verfahren waren etwas unterschiedlich und restic scheint hier alle Anforderungen abzudecken.

Hier meine Notizen für die Installation auf einem Debian 9 Backup Server

Installation von Go und restic

Zuerst die Installation von Go in der Version 1.8 auf meinem Debian 9 Server

sudo apt-get install git golang-1.8-go
export GOROOT=/usr/lib/go-1.8
export PATH=$GOROOT/bin:$PATH
go version go1.8.1 linux/386

Das restic Programm aus dem Github Repo ziehen und kompilieren

mkdir tmp
cd tmp
git clone https://github.com/restic/restic
cd restic
go run build.go
cp restic /usr/bin
restic version
   restic 0.7.3 (v0.7.3-79-gac92e2dd)
   compiled with go1.8.1 on linux/386

Backup Routine

Mein Ziel ist es, verschiedene Server mit verschiedenen Verzeichnissen zu sichern. Damit das ganze übersichtlich bleibt lege ich eine Datei mit den “zu ignorierenden” Verzeichnissen an und für jeden Server eine eigne Datei mit “zu sichernden” Dateien. Hier ist darauf zu achten das es bei den Verzeichnissen oder Dateien kein Leerzeichen am Ende gibt.

Das Kennwort halte ich in einer eigenen Datei. Zuerst diese Datei erstellen und das Repository erstellen

 echo supersecretpassword > /root/restic/repopassword.txt
 chmod 400 /root/restic/repopassword.txt 
 restic -r /backup/restic init
 enter password for new backend: 
 enter password again: 
 created restic backend c828c80164 at /backup/restic
 
 Please note that knowledge of your password is required to access
 the repository. Losing your password means that your data is
 irrecoverably lost.

Auf Basis dieses Beitrags habe ich für den Aufruf das folgende Script erstellt.

 #!/bin/bash
 RESTIC_PASSWORD_FILE=/root/restic/repopassword.txt
 RESTIC_REPOSITORY=/backup/restic
 RESTIC_EXCLUDELIST=/root/restic/excludelist.txt
 RESTIC_BACKUP_SERVER1=/root/restic/backup-list-server-1.txt
 
 
 /usr/bin/restic -r $RESTIC_REPOSITORY -p $RESTIC_PASSWORD_FILE backup --files-from $RESTIC_BACKUP_SERVER1 --exclude-file $RESTIC_EXCLUDELIST
 
 /usr/bin/restic -r $RESTIC_REPOSITORY -p $RESTIC_PASSWORD_FILE forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 10
30.9.17
Weitere Beiträge zu: backup   restic  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License