Ghost radi i ne radi. Pokusavao sam svasta i sa njim, ali sam uvek imao nekih problema. Radi kada roknes ceo disk u gho fajl - sa zasebnim linux particijama vec u pocetku pocne da kasljuca (kreirace ti dump fajl bez problema, ali probaj da ga vratis na disk...). Kada se i vraca na disk, bilo kakav resize particija moze da ukaki stvar. Cak i ako je disk identican, itd i vracas gho fajl na njega, vrlo lako ces da vidis "kernel panic" poruku nakon boota takvog sistema. Nekad prodje, nekad ne - bar je tako bilo dok sam se ja zafrkavao prosle godine (nadam se da ce buduce verzije ispraviti takvo bagovanje). Pored toga, i to sto je radilo, radilo je sa ext2fs, ne i sa ext3.
Drugo resenje ti je najklasicni tar. Mislim, on je i pravljen radi arhiviranja stabla na traku. Dakle, mountujes windows particiju (ili neki backup disk ili drugi medijum) u / i na njega uradis tar.gz diska. Medjutim, par stvari moras da pazis - da startujes to pakovanje sa --preserve opcijom (da bi sacuvao korektno /dev fajlove) i da ne pakujes i sam destination dir, jer bi to ispala divna rekurzija. U tom slucaju bi bilo najbolje da pakujes to koristeci skriptu. Nesto poput:
[code:1]
#!/bin/sh
# preuzmi uneti destination path
$destination = $1
# ukoliko je destinacija na linux particiji ...
umask 755
# proveri da li taj destination dir postoji
if [ -d $destination ]; then
# vozi kroz sve direktorijume roota
for dirname in /* ; do
# proveri da to nije destinacija
if [ ! $dirname = $destination ]; then
echo -e " Pakujem $filename ..."
tar --preserve -czvf $destination/backup-$dirname $dirname
fi
done
echo -e " Backup gotov. "
else
echo -e " Destination direktorijum ne postoji ili nije mountovan! "
fi
[/code:1]
Pisao sam ovo iz glave, tako da bi trebalo proveriti da li ovo radi ok i eventualno nesto izmeniti (znaci, kao ilustracija). Prema ovom primeru, skripti prosledujes samo jedan parametar - destinacioni dir - koji je ovde mountovan u / (da bi se lakse locirao radi preskakanja. Ovaj primer radi backup svakog od direktorijuma (bin, boot, dev, etc, ...) u zaseban tar.gz fajl, jer se tako olaksava da uvek mozes da uradis restore samo onoga sta ti zatreba i kasnije (recimo /etc/ sa svim podesavanjima, ukoliko negde preteras). Ukoliko hoces da sve pakuje u jedan tar.gz, onda u doticnoj For petlji ne pakujes sve, nego formiras jedan string (recimo $dirlist) tako sto dodajes uvek $dirlist = $dirlist + $dirname i po okoncanju petlje okines pakovanje sa "tar --preserve -czvf $destination/$backupname $dirlist". BackupName moze skripta da formira automatski sa citanjem sistemskog datuma, na primer, u trenutku arhiviranja.
Prednost tar-a je u tome sto se u okviru arhive cuvaju svi atributi i vlasnistva nad fajlovima i direktorijumima, zato to sto ti za restore ne treba nista osim tar komande (cak i ako dignes sistem sa linux cd-a ili diskete), te cinjenica da iz te arhive uvek mozes da "cupas" pojedini fajl (config, recimo) i kopiras ga nazad (cak i iz windowsa). Dakle, format je poznat i kompatibilan, bekap se kompresuje, ne treba nikakav dodatni alat (koji zavisi od verzije).
Ukoliko ti treba periodicni backup, mozes da modifikujes skriptu tako da pakuje samo odredjene direktorijume (fixna lista ili prema unosu kao $2 ili da cita imena dirova iz txt fajla) i takvu skriptu stavis u cron da se okida, recimo, svakog prvog u mesecu automatski.
Treca solucija je komanda "dump" koju nisam nikada koristio, pa ne mogu oko nje ni da savetujem (vidi "man dump").
Cetvrta solucija je da koristis amanda backup server (www.amanda.org), koji opet koristi u pozadini tar ili dump, ali moze da bekapuje preko mreze, a od skora i windows diskove (vezane preko sambe naravno).