gzip - chuyển hướng hoặc đường ống?


10

Tôi sẽ sao lưu một đĩa lớn (750GB) sang đĩa USB ngoài bằng dd.
Tôi nên sử dụng chuyển hướng hoặc đường ống? Cái nào hiệu quả hơn? Hay là có một sự khác biệt?

Ngoài ra, kích thước khối tốt nhất là gì? USB có khả năng là nút cổ chai ở đây.

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

đấu với

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

Cảm ơn.


2
Tôi sẽ cố gắng sao lưu hệ thống tập tin, không phải hình ảnh đĩa thô. Và để điều chỉnh các tham số, bạn sẽ phải điểm chuẩn.

ddlà cổ xưa (bất kỳ công cụ nào khác rất may không có bs=count=, như thế ddrescue), và trong trường hợp của bạn cũng khá vô nghĩa. Chỉ cần đặt nó vào gzip -c </dev/sda >disk.img.gz& gzip -cd disk.img.gz >/dev/sda.

Hoặc làm điều đó với rsync. Chỉ cần xây dựng lệnh với các tham số, và nó sẽ làm cho bạn mọi thứ theo cách hiệu quả nhất mà nó nghĩ.
vakufo

Trong lệnh thứ hai của danh sách thứ hai, dd if=.../disk.img.gz |phần phải làm là gì? Theo tôi hiểu, gzip -dc(= zcat) không quan tâm đến nó stdinkhi có đối số tệp.
sr_

Tôi không nghĩ Linux có thể tái tạo các bản cài đặt Windows một cách đáng tin cậy bằng cách sao chép cấu trúc tệp. Do đó, cần phải sao chép bit khôn ngoan như thế nào dd. ddrescueCó vẻ mạnh mẽ hơn sau đó đơn giản dd. Bạn sẽ sử dụng GNU ddrescuehay dd_rescue? Một đĩa CD Live tốt để tải về là gì?
mcu

Câu trả lời:


3

Đường ống liên quan đến một quá trình nữa và thêm một bản sao đất người dùng, vì vậy sẽ hiệu quả hơn khi sử dụng chuyển hướng.

Nhưng tôi đoán rằng trên hệ thống bộ nhớ đệm phần cứng và phần mềm hiện nay, nó không tạo ra sự khác biệt thực sự nào. Có lẽ bạn có thể có kết quả tốt hơn bằng cách sử dụng bs=4khoặc bs=64k, vì đó là giới hạn của đường ống trong linux. Xem câu hỏi này để biết thêm chi tiết về các thông số bs khác nhau .


9

Bạn không cần phải sử dụng ddhoặc đường ống nào cả.

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

Tôi đã từng thực hiện một điểm chuẩn và thấy sử dụng ddchậm hơn so catvới bản sao thẳng giữa các đĩa khác nhau. Tôi hy vọng đường ống sẽ thực hiện bất kỳ giải pháp nào liên quan đến ddthậm chí chậm hơn trong trường hợp này.


Đó một ví dụ của việc sử dụng chuyển hướng.
psusi

@psusi Gah! Ý tôi là viết dd dd hoặc đường ống. Cảm ơn.
Gilles 'SO- ngừng trở thành ác quỷ'

Có cách nào để kết hợp pvtrong các lệnh này không?
Yaron

2
@Yaron Chắc chắn: thay thế gzipbằng pv | gzipgzip -dbằnggzip -d | gv
Gilles 'SO- ngừng trở nên xấu xa'

0

Đơn giản hơn:

gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.