Řešení 1:
Máte přístup k souboru sda2-backup...gz? Sudo funguje pouze s příkazem po něm a nevztahuje se na přesměrování. Pokud chcete, aby se použilo na přesměrování, spusťte shell jako root, takže všechny podřízené procesy budou také root:
sudo bash -c "dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-10august09.gz"
Alternativně můžete disk připojit pomocí možností připojení uid / gid (za předpokladu ext3), abyste měli oprávnění k zápisu jako jakýkoli uživatel. Nebo použijte root k vytvoření složky v /media/disk, pro kterou máte oprávnění.
Další informace, které vám mohou pomoci:
- Velikost bloku z větší části opravdu záleží pouze na rychlosti. Výchozí hodnota je 512 bajtů, které si chcete ponechat pro MBR a diskety. Větší velikosti by měly urychlit operace, považujte to za analogické s vyrovnávací pamětí. Zde je odkaz na někoho, kdo provedl nějaké benchmarky rychlosti s různými velikostmi bloků. Měli byste si ale udělat vlastní testování, protože výkon je ovlivněn mnoha faktory. Podívejte se také na další odpověď od andrease
- Pokud to chcete provést po síti pomocí ssh a netcat, sospace nemusí být tak velký problém, podívejte se na tuto otázku týkající se chyby serveru.
- Opravdu potřebujete obraz oddílu, možná existují lepší strategie zálohování?
- dd je velmi nebezpečný příkaz, použijte
of
místoif
a nakonec přepíšete to, co se snažíte zálohovat!! Všimněte si, jak jsou klávesyo
ai
jsou vedle sebe? Buďte tedy velmi velmi velmi opatrně.
Řešení 2:
V prvním případě dd
běží jako root.V druhém případě dd
běží jako root, ale gzip
běží jako vy.
Změňte oprávnění na /media/disk
, dejte si root shell nebo spusťte gzip
také jako root.
Řešení 3:
Navíc můžete gzip nahradit bzip2 --best
pro mnohem lepší kompresi:
sudo dd if=/dev/sda2 | bzip2 --best > /media/disk/$(date +%Y%m%d_%H%M%S)_sda2-backup.bz2