Durch einen Thread im Restic Forum bin ich auf das Tool Kopia aufmerksam geworden. Als altes Spielkind muss man das mal testen :)
Das Motto von Kopia
Encrypted, Deduplicated, and Compressed Data Backups Using Your Own Cloud Storage
und das von Restic
Backups done right!
Ok, ich fasse mal zusammen, die Tools machen eigentlich beide genau das selbe. Ich nutze ja, wie man auch hier im Forum sehen kann, schon lange Restic und sehr intensiv. Aber eine Sache, die mich immer was geärgert hat, für Restic habe ich nie ein vernünftiges GUI gefunden. Kopia hat eines :)
Dann installieren wir das mal auf einem Debian Server.
Installation
https://github.com/kopia/kopia/releases
wget https://github.com/kopia/kopia/releases/download/v0.6.0-rc3/kopia_0.6.0-rc3_linux_amd64.deb dpkg -i *.deb
Danach ist das Tool auf dem Server installiert.
root@debian:/home/kopia-server# kopia --version
0.6.0-rc3 build: eea6b466af1aa1d5730f77631f9572031132c244
LetsEncrypt
Wenn man Eingaben nicht im Klartext durchs Web schicken möchte, nutzt man eine TLS Verbindung. Ich gehe hier in der Anleitung davon aus, das es ein gültiges Zertifikat auf eine Domain gibt.
User anlegen
Ich brauche einen User, der Kopia starten darf und soll. Er soll mal kopia-server heißen.
useradd -m kopia-server
Datengrab
mkdir /tmp/kopia
chown -R kopia-server:kopia-server /tmp/kopia
Jetzt noch das Kopia Filesystem anlegen
kopia repository create filesystem --path /tmp/kopia
Benutzer Zugriff von Außen
Damit man auf den Server zugreifen darf, gibt es Benutzer / Passwortverwaltung mittels .htpasswd
cd /home/kopia-server
htpasswd -B .htpasswd user@hostname
Danach haben wir eine Datei .htpasswd mit den Login Daten.
Start Kopia-Server
kopia server --tls-cert-file /fullchain.pem --tls-key-file /privkey.pem --htpasswd-file /home/kopia-server/.htpasswd --address www.example.com:51515
Jetzt läuft der Server und man kann ihn über einen Webbrowser erreichen!
Backup von Extern
Um jetzt ein Backup von extern anzustoßen, z.B. von meinem Haupt-PC aus, geht man wie folgt vor.
kopia repo connect server --url=https://www.example.com:51515 --override-username=user --override-hostname=hostname
Wenn erfolgreich, sieht das so aus.
Enter password to open repository:
Connected to repository API Server.
NOTICE: Kopia will check for updates on GitHub every 7 days, starting 24 hours after first use.
To disable this behavior, set environment variable KOPIA_CHECK_FOR_UPDATES=false
Alternatively you can remove the file "/root/.config/kopia/repository.config.update-info.json".
Um jetzt ein Backup anzulegen, gibt man folgendes ein.
kopia snapshot create /home/frank/
So sieht das aus, wenn es durch ist.
Snapshotting frank@hostname:/home/frank ...
* 0 hashing, 32 hashed (28.3 MB), 7594 cached (6.5 GB), 0 uploaded (0 B), 0 errors 100.0%
Created snapshot with root k0b96a6xxxxxxxxxxxx03e4b6dc and ID 000a7b4f5fxxxxxxxxxxxxxxxx4fffebb in 2m15s
Das Tool sieht richtig vielversprechend aus. Mehr Infos bei mir im Forum, werde da die Tage noch ein paar Tests mit machen.