Obsah

Backup server

Server by měl primárně sloužit pro zálohy uživatelských počítačů a notebooků
Případně by mohl být využit pro další zálohu serveru a to buď čistě souborovou, nebo jako replikaci zfs snapshotů.

Uživatelská data budou zálohována pomocí rsync úlohy několikrát denně. Tento postup by měl zabránit případnému přepsání již zálohovaných dat ransomwarem. Za předpokladu, že zašifrovaný soubor má jiný název než ten původní.
Pokud bude mít stejný název, tak dojde k přepsání dat v rsync složce na serveru. Pokud se tak stane, bude nutné použít nějaký starší snapshot zálohované složky.

Základní instalace serveru a nastavení uložiště

Základní instalaci Ubuntu včetně zfs je popsána zde

Pro potřeby zálohování vytvoříme zpool

zpool create -f pcbck raidz1 /dev/disk/by-id/ata-TOSHIBA_HDWD130_Z66LY2KAS /dev/disk/by-id/ata-TOSHIBA_HDWD130_Z66MPMDAS

Pro celý zpool nastavíme kompresi

zfs set compression=lz4 pcbck  

Vytvoříme dataset

zfs create pcbck/BACKUP  

V rámci datasetu BACKUP vytvoříme vnořené složky pro jednotlivé uživatele

zfs create pcbck/BACKUP/username  

Instalace SAMBA serveru

https://www.hiroom2.com/2016/05/18/ubuntu-16-04-share-zfs-storage-via-nfs-smb/
https://bbs.archlinux.org/viewtopic.php?id=185884

Samba server není nutný pro vlastní proces zálohování, ale bude se hodit pro kontrolu záloh a pro případné obnovení souborů ze zálohy.

Generování ssh klíče

mkdir /home/username/.ssh
chmod 700 /home/username/.ssh
ssh-keygen -t rsa

Na zálohovacím serveru vytvořte soubor soubor authorized_keys
Jedná se o kopii veřejného klíče - id_rsa.pub

cp -a id_rsa.pub authorized_keys

Nastavení rsync záloh na klientském PC

Windows 7

Na klientském PC/NB je potřeba nainstalovat rsync klienta. Pro OS Windows 7 se instaluje rsync klient z balíku programů CYGWIN.
Postup instalace je popsán na stránkách cesnet.cz - https://du.cesnet.cz/cs/navody/rsync/cygwininstalace
Pro naše účely budeme potřebovat balíčky rsync a openssh

Rsync ssh config file

https://unix.stackexchange.com/questions/94421/how-to-use-ssh-config-setting-for-each-server-by-rsync

V souboru config jsou použité parametry StrictHostKeyChecking no a UserKnownHostsFile=/dev/null
První neověřuje klíč a druhý „ukládá“ klíč do /dev/null

config
Host backup
     HostName 192.168.111.8
     User winbackup
     IdentityFile ~/.ssh/id_rsa
     StrictHostKeyChecking no
     UserKnownHostsFile=/dev/null
rsbackup
!/bin/bash -l
 
date +"%Y-%m-%d %T" > /mnt/c/Users/username/Documents/_backup_.log
 
rsync -av --delete-before /mnt/c/Users/username/Desktop backup:/mnt/backup/username
rsync -av --delete-before /mnt/c/Users/username/Documents backup:/mnt/backup/username
rsync -av --delete-before /mnt/c/MrpWin backup:/mnt/backup/username

Windows 10

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Ve Windows 10 je potřeba povolit Windows Subsystem for Linux - WSL Následně je možné doinstalovat linux distribuci(Debian) z MS Store.
V rámci Debianu doinstalovat ssh a rsync klienta.

Ve Windows přidat naplánovanou úlohu bash /usr/local/sbin/rsbackup

rsbackup
#!/bin/bash -l
 
date +"%Y-%m-%d %T" > /mnt/c/Users/kamberska/Documents/_backup_.log
 
rsync -av --delete-before -e "ssh -i /home/snemec/.ssh/id_rsa" /mnt/c/Users/kamberska/Desktop winbackup@192.168.111.8:/mnt/backup/kamberska
rsync -av --delete-before -e "ssh -i /home/snemec/.ssh/id_rsa" /mnt/c/Users/kamberska/Documents winbackup@192.168.111.8:/mnt/backup/kamberska

Dávka pro zálohu lokálních složek

V zálohovací dávce upravíme cesty dle aktuální situce a nastavíme v Naplánovaných úlohách spouštění dávky každých 30minut.

rsbackup.cmd
echo off
IF EXIST c:\cygwin64\bin SET PATH=%PATH%;c:\cygwin64\bin
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%
echo:  >> c:\data\tmp\rbackup_%username%.log 2>&1
echo %datetimef% >> c:\data\tmp\rbackup_%username%.log 2>&1
 
rsync -av --delete-before --numeric-ids --rsync-path="rsync --fake-super" /cygdrive/c/Users/%USERNAME%/Desktop winbackup@192.168.15.130:/pcbck/BACKUP/%USERNAME%  >> c:\data\tmp\rbackup_%username%.log 2>&1
rsync -av --delete-before --numeric-ids --rsync-path="rsync --fake-super" /cygdrive/c/Users/%USERNAME%/Documents winbackup@192.168.15.130:/pcbck/BACKUP/%USERNAME%  >> c:\data\tmp\rbackup_%username%.log 2>&1
rsync -av --delete-before --numeric-ids --rsync-path="rsync --fake-super" /cygdrive/c/Users/%USERNAME%/Pictures winbackup@192.168.15.130:/pcbck/BACKUP/%USERNAME%  >> c:\data\tmp\rbackup_%username%.log 2>&1
rsync -av --delete-before --numeric-ids --rsync-path="rsync --fake-super" /cygdrive/c/Users/%USERNAME%/Favorites winbackup@192.168.15.130:/pcbck/BACKUP/%USERNAME%  >> c:\data\tmp\rbackup_%username%.log 2>&1
 
copy c:\data\tmp\rbackup_%username%.log \\192.168.15.130\logs
rsync -av -e "ssh -i /home/snemec/.ssh/id_rsa" /mnt/c/Tmp/Drongnel winbackup@192.168.111.8:/mnt/backup/snemec

Klice

Privatni klic ulozte do slozky C:\cygwin\home\username

Ve složce by pak měla být vnořená složka .ssh a soubor ssh_conf. Ve složce .ssh by měly být soubory id_rsa a known_hosts

Nastavení oprávnění na priv. klic

Na soubor id_rsa nastavte právo číst a spouštět jen pro konkrétního uživatele.
Všechny ostatní uživatele odeberte.

DokuWiki Appliance - Powered by TurnKey Linux