Start | Anteckningar | Motorcyklar | Recept | Temperaturer

Backup

Jag använder följande för backup

Time Machine

Såhär gör man på en SynologyNAS

Skruva in hårddisken och starta systemet. För mig tog det några minuter då lampan blinkade oroligt. Logga in och gör följande:

till vänster. Skapa en ny diskgrupp och sedan en volym på 500GB (då Time Machine använder allt tillgängligt utrymme). Man kan använda quota om man vill, men det vill man inte.

shared folder (minsann!) med ett bra namn. Time Machine är ett bra namn.

Win/Mac/NFS och välj filken Mac File Service. Kryssa i Enable Mac file service och välj Time Machine under Time Machine (åhå!)

Nu är det bara att starta Time Machine på sin dator, välja den utdelade katalogen och under configuration välja bort kataloger som inte ska omfattas av backupen. Klart!

Script

Det känns ganska rimligt att anta att Time Machine principiellt fungerar som att använda rsync med hårdlänkar över ssh mha cron. Ett script som hanterar det skulle kunna användas till backup av virtuella och fysiska linux-maskiner i hemmet. På mottagarsidan har man ett städjobb som håller nere antalet backuper till vad man tycker känns rimligt. Hårdlänkar gör att varje ny backup bara består av länkar plus det som skiljer från föregående backup. Det gör att man inte behöver särskilja fulla backuper från inkrementella och att tre veckobackuper ger en overhead på kanske 30%. Mitt script:

#!/bin/sh
timestamp=`date +%Y-%m-%d__%H_%M`
hostname=`uname -n`
src="/home/mitt_konto /usr/share/nginx"    # japp, det går bra med flera kataloger
logfile=$HOME/tmp/$hostname
ssh_cmd="ssh -p 400"                       # lägg till -i .ssh/nyckel eller nolla med ""
dest_name=backupservern.mynet.gov          # namn/IP-nummer till backupservern
dest_dir=/extradisk/rsync/borken.se/       # sökväg till backupkatalogen på datorn ovan
dest="mitt_konto@$dest_name:${dest_dir}"
# filen i --exclude-from är lokal på maskinen som ska tas backup på.  
# Länken i --link-dest ligger på backupservern
time rsync -avz -e "$ssh_cmd" \
   --exclude-from=/home/mitt_konto/.backup_cfg \
   --link-dest=${dest_dir}/latest \
   ${src} \
   $dest${hostname}_${timestamp} | tee ${logfile}/${timestamp}.log
# Uppdatera länken till senaste backupen 
$ssh_cmd $dest_name "cd $dest_dir && rm latest && ln -s ${hostname}_$timestamp latest"

Exempel på .backup_cfg

.??*
tmp
hg-repos

Man kan naturligtvis använda något i stil med flyback som har ett grafiskt gränssnitt och är en linux-motsvarighet till Time Machine. Jag föredrar dock min lösning då den är brutalt enkel och fungerar på linux, OS X och Windows (med Cygwin). Också är den min...

JEBS

Just Enough Backup System är en konstruktion som har varit med sedan 2008 och går kortfattat ut på att man kör rsync till en virtuell backupserver hemma hos sig själv och sedan periodiskt synkar över allt data till en speglad maskin hos en datakunnig kamrat som man litar på och som också har igång grejorna 24/7. Det finns förklarande bilder och dokument, men egentligen är det inte mer än så.