Uživatelské nástroje

Nástroje pro tento web


private:poznamky:linux:backup-server

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
private:poznamky:linux:backup-server [2019/01/13 12:33] – [Windows 10] snemecprivate:poznamky:linux:backup-server [2019/02/27 07:07] (aktuální) – [Rsync ssh config file] snemec
Řádek 1: Řádek 1:
 +====== 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 [[..linux/ubuntu/instalace|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 =====
 +
 +<code>
 +mkdir /home/username/.ssh
 +chmod 700 /home/username/.ssh
 +ssh-keygen -t rsa
 +</code>
 +
 +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
 + 
 +<code config config>
 +Host backup
 +     HostName 192.168.111.8
 +     User winbackup
 +     IdentityFile ~/.ssh/id_rsa
 +     StrictHostKeyChecking no
 +     UserKnownHostsFile=/dev/null
 +</code>     
 +
 +<code bash 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
 +</code>
 +==== 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''
 +
 +<code bash 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
 +</code>
 +
 +
 +
 +
 +
 +==== 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.
 +
 +<code cmd 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
 +</code>
 +
 +  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