gzip-리디렉션 또는 파이핑?


10

dd를 사용하여 큰 (750GB) 디스크를 외부 USB 디스크에 백업합니다.
리디렉션 또는 배관을 사용해야합니까? 어느 것이 더 효율적입니까? 아니면 차이가 있습니까?

또한 최고의 블록 크기는 얼마입니까? 여기에서 USB가 병목 현상이 될 수 있습니다.

dd if=/dev/sda bs=1M | gzip -c > /mnt/sdb1/backups/disk.img.gz

gzip -dc /mnt/sdb1/backups/disk.img.gz | dd of=/dev/sda bs=1M

vs

dd if=/dev/sda bs=1M | gzip -c | dd of=/mnt/sdb1/backups/disk.img.gz

dd if=/mnt/sdb1/backups/disk.img.gz | gzip -dc | dd of=/dev/sda bs=1M

감사.


2
원시 디스크 이미지가 아닌 파일 시스템을 백업하려고합니다. 그리고 매개 변수를 조정하려면 벤치마킹해야합니다.

dd고풍 스럽습니다 (고맙게도 bs=count=같은 다른 도구는와 같이 ddrescue무시합니다). 귀하의 경우에도 무의미합니다. gzip -c </dev/sda >disk.img.gz& 로 파이프하십시오 gzip -cd disk.img.gz >/dev/sda.

또는 rsync로 수행하십시오. 매개 변수를 사용하여 명령을 구성하면 가장 효율적인 방식으로 모든 작업을 수행 할 수 있습니다.
vakufo

두 번째 목록의 두 번째 명령에서 어떤 dd if=.../disk.img.gz |부분을 ​​수행해야합니까? 내가 이해하는 한 gzip -dc(= zcat)는 stdin파일 인수가있을 때 신경 쓰지 않습니다 .
sr_

리눅스가 단순히 파일 구조를 복사하여 Windows 설치를 안정적으로 재현 할 수 있다고 생각하지 않습니다. 따라서 비트 단위 복사가 필요합니다 dd. ddrescue더 강력하고 평범 해 보입니다 dd. 당신은 GNU 사용하는 것이 ddrescue또는 dd_rescue? 다운로드 할 좋은 라이브 CD는 무엇입니까?
mcu

답변:


3

파이핑에는 하나 이상의 프로세스와 하나의 사용자 랜드 복사본이 필요 하므로 리디렉션을 사용하는 것이 더 효율적 이어야 합니다.

그러나 요즘 하드웨어 및 소프트웨어 캐싱 시스템에서는 실제로 차이가 없어야한다고 생각합니다. 어쩌면 당신은 사용하여 더 나은 결과를 얻을 수 있습니다 bs=4k또는 bs=64k그것은 이후, 파이프의 한계 리눅스가. 다른 bs 매개 변수 에 대한 자세한 내용은 이 질문 을 참조하십시오 .


9

전혀 사용 dd하거나 배관 할 필요가 없습니다 .

</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda

나는 한 번 벤치 마크를 했고 다른 디스크 사이의 직선 복사 dd보다 속도가 느린 것을 발견했다 cat. dd이 경우 파이프가 더 느리게 관련된 솔루션을 만들 것으로 기대합니다 .


즉, 재를 사용한 예.
psusi

@psusi가! 나는“dd 또는 배관”을 쓰려고했다. 감사.
Gilles 'SO- 악마 그만해'

pv이 명령 들을 결합하는 방법 이 있습니까?
Yaron

2
@Yaron 물론이 : 대체 gzippv | gzipgzip -dgzip -d | gv
질 'SO-정지 존재 악마'

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.