it-swarm.xyz

сжатие резервной копии на лету

Может быть, это будет звучать как глупый вопрос, но способ, которым я пытаюсь это сделать, не работает.

Я на livecd, диск размонтирован и т.д.

Когда я делаю резервную копию таким образом

Sudo dd if=/dev/sda2 of=/media/disk/sda2-backup-10august09.ext3 bs=64k

... обычно это будет работать, но у меня недостаточно места на внешнем диске, на который я копирую (он ПОЧТИ вписывается в него). Поэтому я хотел сжать таким образом

 Sudo dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-10august09.gz

... но я получил отказано в разрешении. Я не понимаю.

25
Phil

У вас есть доступ к файлу sda2-backup ... gz? Судо работает только с командой после нее и не применяется к перенаправлению. Если вы хотите, чтобы оно применялось к перенаправлению, запустите командную консоль от имени root, чтобы все дочерние процессы также были root:

Sudo bash -c "dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-10august09.gz"

В качестве альтернативы, вы можете смонтировать диск с параметрами монтирования uid/gid (при условии ext3), чтобы у вас были права на запись от имени любого пользователя. Или используйте root для создания папки в/media/disk, для которой у вас есть разрешения.

Другая информация, которая может вам помочь:

  • Размер блока имеет значение только для скорости по большей части. По умолчанию это 512 байт, которые вы хотите сохранить для MBR и дискет. Больший размер к точке должен ускорить операции, думать об этом как о буфере. Вот ссылка кому-то, кто сделал несколько тестов скорости с различными размерами блоков. Но вам следует провести собственное тестирование, так как на производительность влияет множество факторов. Взгляните также на другой ответ Андреаса
  • Если вы хотите выполнить это по сети с помощью ssh и netcat, чтобы пространство не было такой большой проблемой, см. этот вопрос об ошибке сервера .
  • Вам действительно нужен образ раздела, возможно, есть лучшие стратегии резервного копирования?
  • dd - это очень опасная команда, используйте of вместо if, и в итоге вы перезаписываете то, что пытаетесь резервное копирование !! Заметьте, как ключи o и ​​i расположены рядом друг с другом? Так что будьте очень, очень, очень осторожно.
41
Kyle Brandt

В первом случае dd работает как root.

Во втором случае dd работает как root, но gzip работает как вы.

Измените разрешения для/media/disk, создайте себе root-оболочку или запустите gzip от имени root.

6
chris

Кроме того, вы можете заменить gzip на bzip2 --best для лучшего сжатия:

Sudo dd if=/dev/sda2 | bzip2 --best > /media/disk/$(date +%Y%m%d_%H%M%S)_sda2-backup.bz2
3
dmityugov