Disk ARkive (DAR)

DAR är ett backup-program via "kommandoraden" av Dennis Corbin med, enligt min mening, 4 stora fördelar.
Manualer: Dom är på relativt "lätt" engelska.
Slice: Kan dela upp arkivet i delar som sedan kan sparas till ex.v. CD
Diff-backup: Gör backup'er bara av det som ändrats sen sist.
Kdar: Har ett grafiskt program för oss med Kde. :-)
Hemsida DAR: http://dar.linux.free.fr/


Beroenden

* libbz2 version > 1.0.2 = bzip2-1.0.2-i486-5 * libz version > 1.1.4
* libz version > 1.1.4 Ladda ner från http://dar.linux.free.fr/zlib-1.1.4.tar.gz root@haze:/usr/local# tar xvfz /home/hakan/slack/dar/zlib-1.1.4.tar.gz root@haze:/usr/local# cd zlib-1.1.4/ root@haze:/usr/local/zlib-1.1.4# ./configure --help usage: configure [--shared] [--prefix=PREFIX] [--exec_prefix=EXPREFIX] [--libdir=LIBDIR] [--includedir=INCLUDEDIR] root@haze:/usr/local/zlib-1.1.4# ./configure -s Checking for gcc... Checking for shared library support... Building shared library libz.so.1.1.4 with gcc. Checking for unistd.h... Yes. Checking for errno.h... Yes. Checking for mmap support... Yes. root@haze:/usr/local/zlib-1.1.4# make bla..bla.. root@haze:/usr/local/zlib-1.1.4# checkinstall -S Jag gör alltså ett "slackpaket" med Checkinstall ..bla..bla.. Done. The new package has been saved to /usr/local/zlib-1.1.4/zlib-1.1.4-i386-1.tgz You can install it in your system anytime using: installpkg zlib-1.1.4-i386-1.tgz ********************************************************************** root@haze:/usr/local/zlib-1.1.4# installpkg zlib-1.1.4-i386-1.tgz

Då är det dags för "dar"..
libdar API version > 2.1.0
Ladda ner från http://sourceforge.net/project/showfiles.php?group_id=65612

root@haze:/usr/local# tar xvfz /home/hakan/slack/dar/dar-2.1.5.tar.gz

root@haze:/usr/local# cd dar-2.1.5/

Jag fick problem med "make" så jag gjorde som det stod i INSTALL..

root@haze:/usr/local/dar-2.1.5# CXXFLAGS=-O --> O som i Olle
root@haze:/usr/local/dar-2.1.5# export CXXFLAGS
root@haze:/usr/local/dar-2.1.5# make clean distclean

..sedan..
root@haze:/usr/local/dar-2.1.5# ./configure

..bla..bla..

root@haze:/usr/local/dar-2.1.5# make

..jag gör inget "slackpaket" för det rekomenderas att man ska köra "install-strip"..
root@haze:/usr/local/dar-2.1.5# make install-strip

.."binärerna"(dom körbara filerna) lägger sig i /usr/local/bin

Backup's med "Disk ARkive"

Manualer
http://dar.linux.free.fr/#help
dar-differential-backup-mini-howto
DAR FAQ
..samt även under /usr/local/dar-2.1.5/doc,och naturligvis #dar -h eller #man dar

Jag har utgått från "mini-howto" ovan samt /usr/local/dar-2.1.5/doc/TUTORIAL och sedan gjort modifieringar så det passar mitt system.
Jag har / (hdb6), /usr/local (hdb7), /home (hdb8) och /hakan (hdb9) som egna partitioner, så jag gör 3 st. olika backup's..
"systemet" / (backup_root)
"hemkatalogen" /home/hakan (backup_home)
"local" /usr/local (backup_local).

Arkivet skapas i den katalog du står i, jag har valt /hakan/backup(/hakan är en egen partition), så jag ställer mig i den.
(Vid genomläsning..mitt minne är bra..men kort..jag har ju fått en DVD-brännare så jag behöver inte ha optionen "-s 680M", spara dock lite utrymme på din skiva eftersom du ska ha med "dar-binären" också.)


Systemet

root@haze:/hakan/backup#dar -m 256 -y -s 680M -D -R / -c `date -I`_backup_root -Z "*.gz" -Z "*.tgz" -Z "*.bz2" -Z "*.zip" -Z "*.jpg" -Z "*.png" -P home/hakan -P usr/local -P dev/pts -P tmp -P sys -P udev -P hakan -P proc -X "*~" -X ".*~"

-m 256
Som förval komprimeras inte filer mindre än 100 bytes, jag ökar till 256 bytes.

-y [nivå]
Aktiverar bzip2 komprimering, nivå är från 0 till 9 med 6 som förval.

-s 680M
Detta är DAR's "slice" funktion d.v.s. 680M (Mb) är den största filstorleken du får (rymms alltså att bränna på en 700Mb skiva.). Är arkivet större får du flera olika filer med ett unikt "slicenummer"(1,2 o.s.v.) före filändelsen. Jag har DVD-brännare, så jag använder den inte.

-D
Sparar kataloger som undantas med -P flaggan eller som saknas från kommandoradens "path list" som tomma kataloger.

-R /
Startkatalogen, förvalet är den katalog du står i.

-c `date -I`_backup_root
Skapar ett arkiv med dagens datum i den katalog du står i, jmf #echo `date -I`
OBS! "sneda appostrofen" d.v.s. till vänster om "backstegstangenten.

-Z [filmönster]
Sparar angivna filer utan komprimering (dom är ju redan det), behövs bara om du använder -y flaggan.

-P [relativ sökväg]
Här anges vilka kataloger du inte vill ha i din backup. Kom ihåg, relativt till -R katalogen. ( /hakan är monteringspunkt för min "backuppartition")

-X [filmönster]
Ange dom filer du inte vill ha med. ( .~ är ju också "backup's" )

Så här ser resultatet ut..

--------------------------------------------
 168542 inode(s) saved
 with 2450 hard link(s) recorded
 0 inode(s) not saved (no file change)
 0 inode(s) failed to save (filesystem error)
 37 files(s) ignored (excluded by filters)
 0 files(s) recorded as deleted from reference backup
 --------------------------------------------
 --------------------------------------------
 Total number of file considered: 168579

Testa arkivet

..sedan bör man "testa" arkivet..
root@haze:/hakan/backup#dar -t 2004-11-04_backup_root

..bla..bla..
 0 file(s) with error
 0 file(s) ignored (excluded by filters)
 --------------------------------------------
 Total number of file considered: 171005
 
..sedan jämför vi mot hårddisken..
root@haze:/hakan/backup# dar -d 2004-11-04_backup_root -R /

-R ["utgångskatalog"]
Den katalog du ska jämföra mot.

..bla..bla..
 40 file(s) do not match those on filesystem
 0 file(s) failed to be read
 0 file(s) ignored (excluded by filters)
 --------------------------------------------
 Total number of file considered: 171005
 
..jag gjorde min jämförelse dagen efter så dom filer som inte matchar 
varandra är sådana som ändras lite då och då, inget att bry sig om alltså. ;-)

Hemkatalogen

hakan@haze:/hakan/backup$dar -m 256 -y -s 680M -D -R /home/hakan -c `date -I`_backup_home -Z "*.gz" -Z "*.tgz" -Z "*.bz2" -Z "*.zip" -Z "*.jpg" -Z "*.png" -P bilder -P musik -P pictures -P kernel -P tmp -X "*~" -X ".*~" -X "*.iso"

OBS! Kör som vanlig användare (hakan), och glöm inte att "testa".


Local

root@haze:/hakan/backup#dar -m 256 -y -s 680M -D -R /usr/local -c `date -I`_backup_local -Z "*.gz" -Z "*.tgz" -Z "*.bz2" -Z "*.zip" -Z "*.jpg" -Z "*.png" -X "*~" -X ".*~"
..glöm inte att "testa".


Differentiell backup

När jag nu har 3 st. "fulla" backup's, så kan jag i fortsättningen göra "differentiella" backup's, d.v.s. bara "backuppa" skillnaden sen sist. Den första "diffbackupen" baseras på "fullbackupen", sedan på den senaste "diffbackupen".

Jag behöver bara ändra filnamnet, och med flaggan -A [senaste_backup] visa vad han ska jämföra med. Så här ser det ut för "Hemkatalogen"


$dar -m 256 -y -s 680M -D -R /home/hakan -c `date -I`_backup_home_diff -Z "*.gz" -Z "*.tgz" -Z "*.bz2" -Z "*.zip" -Z "*.jpg" -Z "*.png" -P bilder -P musik -P pictures -P kernel -P tmp -X "*~" -X ".*~" -X "*.iso" -A 2004-11-05_backup_home

OBS! "senaste backupfilen" ska inte ha vare sig ev. "slicenummer" eller "filändelse" (datum_backup_home).


Bränna skivan

Eftersom jag har DVD får jag plats med allt på en skiva, men innan jag bränner måste jag komma ihåg att ta med mig DAR-programmet, i /usr/local/bin finns dar_static som jag kopierar till min backupkatalog..
#cp /usr/local/bin/dar_static /hakan/backup

..tillsammans med "man-sidorna", eftersom mitt minne är bra..men kort..
#cp /usr/local/man/man1/dar.1 /hakan/backup

..flyttar dit..
#cd /hakan/backup

#ls


2004-11-04_backup_root.1.dar   2004-11-05_backup_local.1.dar   dar_static
2004-11-05_backup_home.1.dar   dar.1


..sen bränner jag..
bash-3.00# growisofs -Z /dev/dvd -R -J 2004-11-04_backup_root.1.dar
2004-11-05_backup_home.1.dar 2004-11-05_backup_local.1.dar dar.1 dar_static


..då gör jag en sista kontroll med programmet "diff" d.v.s. jämför DVD-filerna med filerna i /hakan/backup.

..ta ut och sätt in skivan..

root@haze:/home/hakan# eject /dev/dvd

root@haze:/home/hakan# mount /mnt/dvd

root@haze:/home/hakan# cd /mnt/dvd

root@haze:/mnt/dvd# ls

2004-11-04_backup_root.1.dar   2004-11-05_backup_local.1.dar   dar_static
2004-11-05_backup_home.1.dar   dar.1


root@haze:/mnt/dvd# diff 2004-11-04_backup_root.1.dar /hakan/backup/2004-11-04_backup_root.1.dar

root@haze:/mnt/dvd# diff 2004-11-05_backup_local.1.dar /hakan/backup/2004-11-05_backup_local.1.dar

root@haze:/mnt/dvd# diff 2004-11-05_backup_home.1.dar /hakan/backup/2004-11-05_backup_home.1.dar

..när "diff" inte säger någonting menas att allt är OK


Återställning efter "Diskkrasch"

(Inom parentes sagt, det är bra mycket enklare att använda en "Live-CD" med "qtparted" för att fixa till en ny hårddisk, Knoppix-3.6 har det.


Så här har jag gjort med min nya disk, jag kommer att formatera och använda hdc5 som SWAP och hdc15 som /, jag ska ju bara prova arkivet så jag gör inte någon /usr/local och /home..nu slutar parentesen) :-)


Jag behöver ett "bootbart" media som gör att jag kan komma åt min disk och min DVD, ex.v. "Slack's" bootdisketter, men eftersom min dator kan starta från cdrom använder jag "Slack's" installationsskiva (CD1). Du kan följa Installation fram till du har loggat in som root.(Eller fortsätta och använda cfdisk för att fixa dina partitioner)

Litet förtydligande..
Starta från skivan...välj "kärna"...välj tangentbord..logga in som "root"
Nu har du ett litet "linuxsystem" i "minnet", du kan nu ta ut inst-CD'n (CD 1) och sätta in din "backup"..
Har du inte partitionerat, med ex.v. parted, så kan du efter "root" fortsätta och skapa partitioner med ex.v. cfdisk , för att sedan ta ut inst-CD'n ..


Nu tar jag ut CD'n, stoppar i backupDVD'n, och ser till att jag står i /-katalogen..
#cd /

,,slår på SWAP..
#swapon /dev/hdc5

..skapar monteringspunkter(kataloger)..
#mkdir disk dvd
(på "riktigt" även skapat disk/home, disk/usr och disk/usr/local)

..monterar hdc15..
#mount -t ext2 /dev/hdc15 /disk

(på "riktigt" även monterat /disk/home och /disk/usr/local)

..samt DVD'n..
#mount -t iso9660 /dev/hdd /dvd --> Jag har DVD'n på hdd

..kopierar "dar_static" till /disk (#man /dvd/dar1 om du har glömt kommandon)..
#cp /dvd/dar_static /disk

..då återställer jag "systemet"..
#/disk/dar_static -x /dvd/2004-11-04_backup_root -R /disk -b
-R ["dit det ska"]
-b: Säger till om du måste "ingripa"

..skulle jag nu ha en massa "diff"-backup'er så fortsätter jag..
#/disk/dar_static -x /dvd/"datum"_backup_root_diff1 -R /disk -b
#/disk/dar_static -x /dvd/"datum"_backup_root_diff2 -R /disk -b
..o.s.v..

..sedan "local"..
#/disk/dar_static -x /dvd/2004-11-05_backup_local -R /disk/usr/local -b

..och "hemkatalogen"..
#/disk/dar_static -x /dvd/2004-11-05_backup_home -R /disk/home/hakan -b

..avsluta med att ta bort "dar"..
#rm /disk/dar_static

Jag hade problem med att komma in i X (kde) som "hakan", men det löste sig via "init 3" och "startx", samt några omstarter..undrar om det inte är bättre att göra backup när inte X är i gång.
Jag har också provat med att byta namn på min dolda ".kde-fil", och då fungerade det bra, märkligt nog så kunde jag sedan "byta tillbaka" utan problem!!
Nu har jag i alla fall mitt "Slack" på en DVD så nu väntar jag bara på att hårddisken ska "krascha" :-)
För oss som gillar Kde finns det "grafik", Kdar.