Wykonanie w Linuksie kopii zapasowej partycji lub nawet całego dysku jest bardzo proste. Aby zrobić backup wystarczy odmontować partycję (jeśli jest zamontowana) i użyć programu dd
. Zrobienie obrazu partycji ogranicza się do wykonania poniższych poleceń z uprawnieniami roota:
umount /dev/sda1 dd if=/dev/sda1 of=/sciezka/plik_backupu
Oczywiście zamiast /dev/sda1
podajemy ścieżkę do swojej partycji.
Aby przywrócić tak wykonany backup, wystarczy w programie dd
zamienić parametry podane jako if
(input file) i of
(output file):
dd if=/sciezka/plik_backupu of=/dev/sda1
Jeśli partycja jest zamontowana to koniecznie należy ją odmontować przed odzyskaniem danych z kopii.
Backup z kompresją danych
Uzyskana we wcześniej opisany sposób kopia zapasowa będzie miała taki rozmiar jak rozmiar partycji. Jest to marnotrawstwo miejsca, dlatego też można skompresować uzyskany obraz. W celu uzyskania większego stopnia kompresji można wolne miejsce na dysku nadpisać zerami. Przy założeniu, że tym razem partycja nie jest zamontowana, cała procedura będzie wtedy wyglądała następująco:
mount /dev/sda1 /mnt/katalog cat /dev/zero /mnt/katalog/0 sync rm /mnt/katalog/0 umount /dev/sda1 dd if=/dev/sda1 | xz > /sciezka/plik_backupu.xz
Jeśli zależy nam na czasie a nie na jak najmniejszym rozmiarze pliku, to do kompresji danych zamiast programu xz
możemy użyć bzip2
lub szybszego gzip
.
Odzyskiwanie kopii zapasowej jest jeszcze prostsze niż jej zrobienie:
xzcat /sciezka/plik_backupu.xz | dd of=/dev/sda1
xzcat
to odpowiednik xz --decompress --stdout
. Dla innych kompresorów używamy analogicznie bzcat
(bzcat
, bzip2 -dc
, bunzip2 -c
) lub zcat (zcat
, gzip -dc
, gunzip -c
).