Andmete varundamine on asi, mille vajalikkusest me saame aru, kuid enamasti me ei viitsi seda teha. Miks? Sellepärast, et see on tüütu või liiga keeruline.

Siiski ei ole see nii tüütu kui varasematel aegadel. On olemas palju selleks loodud tarkvara. Pakun välja lahenduse, mis kasutab ära võimalikult palju standardseid vahendeid ja seetõttu peaks töötama väga paljudes erinevates seadmetes. Juttu tuleb eelkõige tavalise sülearvuti andmete varundamisest olukorras, kus arvuti on päeval tööl endaga kaasas ning õhtul on see kodus. Samas saab seda rakendada ka näiteks serverite puhul.

Mõned argumendid nende jaoks, kelle arvates varundamine ei tasu vaeva:

  • SSD jõi HDD ketta rike
  • arvuti vargus (unustame ise oma sülearvuti rongi!)
  • krüptoviirus krüpteerib meie andmed
  • meie või keegi teine kustutab andmed kogemata või meelega
  • faili ülekirjutamine mingi muu sisuga

Kõigepealt lahendustest, mis minu arvates hästi ei tööta. Võiks ju ette kujutada, et ostame endale välise USB3 ketta, ühendame selle igal õhtul arvutiga ja laseme kaasapandud tarkvaral hoolitseda kõige muu tüütu eest. Millised on sellise lahenduse miinused?

  • USB kaabli ühendamine on tüütu. Enamasti me ei viitsi seda teha. Me ei saa näiteks minna sülearvutiga diivanile istuma, sest arvuti on seotud kaabliga.
  • Kaasapandud tarkvara töö jääb arusaamatuks. See küll üritab pidevalt uuendusi alla laadida, kuid mis seisus on varundamine, on väga raske hinnata.
  • Varundustarkvara teeb arvuti aeglasemaks ebasobival ajal.

Nüüd siis lahendusest, mis minu arvates on parem. Andmete varundamiseks kasutame tavalist Wi-Fi ühendust. Kui meil on kaabliga lauaarvuti, siis loomulikult töötab ka see. Wi-Fi on küll tavaliselt aeglasem, kuid sellest saame üle kavalusega, et arhiveerime vaid muutunud faile.

Eelised:

  • Töötab ilma kaablita
  • Osa lahendusest töötab ka Linuxi ja Mac OS X-ga
  • Lihtne, kiire ja arusaadav

Rsync on juba pikka aega olnud Linuxi kasutajate seas populaarne. Tegelikult saame selle tööle ka Windowsiga. Siin on üks kirjeldus, kuidas:

  • Installeeri kõigepealt MSYS2 aadressilt https://msys2.github.io/
  • Installeeri rsync käsklusega "pacman -S rsync"
  • Installeeri openssh käsklusega "pacman -S openssh"
  • Genereeri ssh RSA võtmepaar käsklusega "ssh-keygen -t rsa"
  • Salvesta avalik võti SSH serveris ehk meie NAS seadmes: cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Variant oleks kasutada ka Windows Subsystem for Linux (beta) võimalust, kuid see ei toeta praegu exFAT failisüsteemi, mis on näiteks kasulik, kui soovime andmeid jagada ka Mac OS X-ga.

Andmete salvestuskohaks võivad olla meil väga erinevad seadmed:

  • Spetsiaalsed NAS storage (võrgumälu) seadmed (näiteks SYNOLOGY, QNAP)
  • Ise kokkupandud üheplaadiarvuti (Raspberry Pi, Orange Pi, Pine64, jne...) ning väline USB ketas
  • NAS võimalusega ruuter
  • Vanem süle- või lauaarvuti, mis on selleks ümberseadistatud
  • Pilveserver, mida me usaldame ning milles on piisavalt ruumi

Enda seadme puhul võiks ethenet võrgukaardi kiirus olla vähemalt 1000Mbps ning võiks valida aparaadi, mis ei tarbi väga palju voolu. Olen näiteks järgi proovinud SYNOLOGY NAS ning Pine64 välise USB kettaga seadmega töö. Oluline on siis installeerida OpenSSH Server, kui see puudub.

Kodukataloogi võime teha näiteks kaks faili:

$ cat backup.sh
#!/bin/bash
# arhiveerimine
rsync -av --stats  --log-file=/C/rsync/rsync.log --out-format="%t %f %b" "/C/Users/tiit/Documents" user@host:/mnt/backup


$ cat backup-outlook.sh
#!/bin/bash
# arhiveerimine
rsync -av --stats  --log-file=/C/rsync/rsync-outlook.log --out-format="%t %f %b" "/C/Outlook Files" user@host:/mnt/backup

 

Logifaile saame siis vaadata C:\rsync kaustas. 

Nende käivitamiseks teen kaks bat faili, mille sisuks on:

backup.bat:
C:\msys64\usr\bin\bash.exe --login -i -c "/home/tiit/backup.sh" backup-outlook.bat:
C:\msys64\usr\bin\bash.exe --login -i -c "/home/tiit/backup-outlook.sh" pause

backup.bat võime lisada Windows Task Sceduler käskluseks.

backup-outlook.bat otsetee lisan oma töölauale ning käivitan seda ise sobival ajal, kui Outlook on kinni pandud. Rsync sünkroniseerib muide Outlooki PST faile väga ruttu, võrreldes tavalise faili kopeerimisega.

Serveri poolel võiks säilitada arhiivist mitu versiooni. Kui meil on näiteks iga päeva kohta oma versioon ja hoiame alles 30 versiooni, siis saame taastada mõni nädal tagasi kustutatud faili. Üks võimalus on kasutata logrotate nimelist programmi, mis on tavaliselt nagunii juba meie NAS seadmes olemas.

Siin on näide Synology seadmes paiknevast skriptist:

ds115j> cat /var/services/homes/sshuser/scripts/make-archives.sh
#!/bin/sh
tar cpzf /var/services/homes/sshuser/archives/samba.tar.gz /volume1/NetBackup/samba/.
logrotate -s /var/services/homes/sshuser/scripts/status.tmp -f /var/services/homes/sshuser/scripts/rotate-samba-archives.conf

ds115j> cat /var/services/homes/sshuser/scripts/rotate-samba-archives.conf
### logrotate config file
/var/services/homes/sshuser/archives/samba.tar.gz{
 rotate 30
 daily
 copy
 prerotate
 endscript
}
###

ds115j>

Siin /volume1/NetBackup/samba/ on rsync-ga sünkroniseeritud kaust. Kui me käivitame selle igapäevaselt, siis ongi meil olemas viimase 30 päeva versioonid. Ei ole raske ette kujutada, et sarnaselt me võime teha ka iga kuu kohta ühe versiooni, kui kasutame logrotate konfiguratsioonifailis monthly võtmesõna.

 

See lahendus on juba üsna hea, kuid siiski on olemas veel üks võimalus, millest soovin rääkida. See on Back up using file history. Mina seadistasin selleks oma Pine64 masinas samba serveri. Andmed arhiveeritakse näiteks tunniajase intervalliga võrgukettale.

 

 

 

Mugav on selle juures, et failide ajalugu saab kergesti vaadata ja taastada. Näiteks võttes faili "Süsteemi arhitektuur" omadused:

 

Linke:

https://et.wikipedia.org/wiki/Andmete_varundamine

http://www.arvutikaitse.ee/arvutikaitse-algtoed/varukoopia/

https://www.riigiteataja.ee/akt/405112013046

https://en.wikipedia.org/wiki/Rsync

http://www.asjade.net/varia-menu/37-msys2-mingw-ja-poco-c-libraries

https://msys2.github.io/

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

http://stackoverflow.com/questions/38423319/cant-access-exfat-partitions-in-windows-linux-bash

https://et.wikipedia.org/wiki/V%C3%B5rgum%C3%A4lu 

https://www.raspberrypi.org/

http://www.orangepi.org/

https://www.pine64.org/

http://www.linuxcommand.org/man_pages/logrotate8/

https://support.microsoft.com/en-us/help/17143/windows-10-back-up-your-files

https://en.wikipedia.org/wiki/Samba_(software)